我在表中存储了以下xml文档
<ARSoapOut xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/>
<ARResponse xmlns=http://company.com/path>
<ARResult>
<diffgram xmlns:diffgr=urn:schemas-microsoft-com:xml-diffgram-v1 xmlns:msdata=urn:schemas-microsoft-com:xml-msdata>
<NewDataSet xmlns=>
<FinAccountsReceivable diffgr:id=FinAccountsReceivable1 msdata:rowOrder=0>
<SiteID>
10001
</SiteID>
<UnitName>
1
</UnitName>
<Tenant>
Doe, John
</Tenant>
<Company>
ABC
</Company>
<Balance>
46.7600
</Balance>
</FinAccountsReceivable>
</NewDataSet>
</diffgram>
</ARResult>
</ARResponse>
当我执行下面的查询时,没有得到任何结果。
XML_TABLE = SELECT * FROM XMLTABLE (XMLNAMESPACE(DEFAULT 'http://company.com/path')
'ARSoapOut/ARResponse/ARResult/diffgram/NewDataSet/FinAccountsReceivable' PASSING XML_VALUE
COLUMNS
SiteID NVARCHAR(5) PATH 'SiteID',
UnitName NVARCHAR(2) PATH 'UnitName',
Tenant NVARCHAR(50) PATH 'Tenant',
Company NVARCHAR(20) PATH 'Company',
Balance DECIMAL(13,2) PATH 'Balance'
);
我不确定应解析命名空间子句的内容。请帮助
1条答案
按热度按时间q43xntqr1#
您的示例有几个问题:
无效的XML
所有命名空间声明都需要正确地用引号引起来,例如:一个月一个月一个月一个月
XML格式
HANA将标记内的空格视为值的一部分。例如,这就是
SiteID
值无法放入NVARCHAR(5)
列的原因。XML名称空间
路径表达式不考虑命名空间。
溶液
下面是一个工作示例: