次のXMLと、SQL Server 2008でうまく動作するクエリがありますが、Concat
とSubstring
という同じノードを選択すると失敗します。XmlDocument
オブジェクトC#。XPath関数はnet framewokでは機能しませんが、SQLクエリで動作します
何が問題になりますか?
declare @x xml='<asn>
<asnH>
<senderId>9053357373T</senderId>
<pono>SCA0055792</pono>
<dino>440229</dino>
<shipmentWeight>1109</shipmentWeight>
<loadingQty>190</loadingQty>di
<zWeight>1109</zWeight>
</asnH>
<dd>
<COMNO>010</COMNO>
<T_x0024_ORNO>910055</T_x0024_ORNO>
<T_x0024_CFRW>UP1</T_x0024_CFRW>
<T_x0024_TRNO>abc-12345 </T_x0024_TRNO>
<T_x0024_DINO>440229</T_x0024_DINO>
<T_x0024_ITEM> 817025-001</T_x0024_ITEM>
<T_x0024_PONO>1</T_x0024_PONO>
<T_x0024_DDAT>2017-08-14T00:00:00-04:00</T_x0024_DDAT>
<T_x0024_DQUA>10</T_x0024_DQUA>
<T_x0024_OQUA>10</T_x0024_OQUA>
<T_x0024_WGHT>15</T_x0024_WGHT>
<T_x0024_CUPS>ea </T_x0024_CUPS>
<T_x0024_TRID>66085</T_x0024_TRID>
<lWeight>150</lWeight>
</dd>
</asn>'
select
t.c.query('concat(substring(asn[1]/asnH[1]/senderId[1],1,5),asn[1]/asnH[1]/dino[1])')
from
@x.nodes('.') t(c)
は、私はあなたが作業しているC#のコードを投稿するべきだと思います。 –
私はXMLDocumentオブジェクトがジョブのためのツールだとは思わない。 https://msdn.microsoft.com/en-us/library/system.xml.xmldocument(v=vs.110).aspx私は部分文字列とconcateは文字列メソッドです。 https://msdn.microsoft.com/en-us/library/hxthx5h6%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 ...しかし、私は.NET開発者ではないので間違い。 –