0
請有人提供一些關於從XML列中提取某些值的最有效方法的指導嗎?我試過在case語句中使用子字符串和charindex,但是這變得非常混亂,並且不是最好的表演者。我會認爲有一個XML功能可以更好地工作,但是很難在網上找到任何使用XML的例子;從SQL Server中提取XML的值
<pro:Import xmlns:pro="http://thenamespace/">
<pro:Control DatabaseName="varchar" UserName="varchar" Password="varchar" Company="varchar" Version="varchar" ErrorHandlingMode="varchar" />
<pro:Invoice RegisterInvoiceEvenIfParentOrdersAreInvalid="Bool" Tray="Varchar" Template="varchar" Supplier="varchar" SupplierInvoiceNumber="int" InvoiceDate="datetime" GrossValue="decimal" TaxValue="decimal" ImageReference="uniqueidentifier">
<pro:References>
<pro:Reference Code="varchar" Value="datetime" />
<pro:Reference Code="varchar" Value="varchar" />
</pro:References>
<pro:ParentOrders>
<pro:ParentOrder OrderNumber="varchar" />
</pro:ParentOrders>
<pro:TaxDetails>
<pro:Tax Band="varchar" Code="varchar" GrossValue="decimal" TaxValue="decimal" />
</pro:TaxDetails>
<pro:Comments>
<pro:Comment>varchar</pro:Comment>
</pro:Comments>
</pro:Invoice>
我想提取會有所不同的值,也將在XML。這只是一個例子,但有時候我想爲某些XML提取的值在別人中不存在。
例子:
有可能永遠是一個Supplier="xxxx"
但不是SupplierInvoiceNumber="xxxx"
,它的位置會有所不同。
爲了討論各種情形,雖然,可以說這個練習,我只是想拔出
Supplier="varchar"
& SupplierInvoiceNumber="int"
感謝所有:)
〜d
非常感謝!我嘗試過使用xml.Value,但我試圖按照我在網上找到的東西(/ ns:Import/ns:Invoice)[1]','varchar(max)')而這返回的意見,而不是。感謝您的快速反應! –