DECLARE @XmlData xml
SET @XmlData= '<?xml version="1.0" encoding="utf-8" ?>
<ROOT PROCESS_DATE="25-Nov-2009" ROW_COUNT="2" VERIFY_TOTAL="654454.54">
<row rowNumber="1">
<Code1>11111</Code1>
<Code2>AAAA </Code2>
</row>
<row rowNumber="2">
<Code1>2222</Code1>
<Code2>BBBB </Code2>
</row>
</ROOT>'
-- Following query returns the Code1, & Code2 for each row.
SELECT
R.i.query('Code1').value('.', 'nvarchar(8)') AS Code1,
R.i.query('Code2').value('.', 'nvarchar(8)') AS Code2
FROM @XmlData.nodes('/ROOT/row') R(i)
-- Now I want to get the rowNumber attribute of each row in the resultset.
SELECT
R.i.query('@rowNumber') AS rowNumber,
R.i.query('Code1').value('.', 'nvarchar(8)') AS Code1,
R.i.query('Code2').value('.', 'nvarchar(8)') AS Code2
FROM @XmlData.nodes('/ROOT/row') R(i)
-- Above query returns error
Q
如何讀取XML
1
A
回答
0
我沒有SQL服務器方便的屬性,但我的直覺告訴我嘗試:
R.i.query('.').value('@rowNumber', 'int') AS rowNumber
0
您可以用data()
解決方法查詢屬性:
R.i.query('data(row/@Name)').value('.','int') AS rowNumber
2
DECLARE @x XML ;
SET @x = '<?xml version="1.0" encoding="utf-8" ?>
<ROOT PROCESS_DATE="25-Nov-2009" ROW_COUNT="2" VERIFY_TOTAL="654454.54">
<row rowNumber="1">
<Code1>11111</Code1>
<Code2>AAAA </Code2>
</row>
<row rowNumber="2">
<Code1>2222</Code1>
<Code2>BBBB </Code2>
</row>
</ROOT>' ;
SELECT v.value('.', 'VARCHAR(20)') AS Name
FROM @x.nodes('(/ROOT/row/@*)') x (v)
相關問題
- 1. 如何讀取XML
- 2. Qt如何讀取XML?
- 3. 如何讀取XML用JDOM
- 4. 如何讀取XML數據
- 5. 如何從XML讀取值?
- 6. 如何讀取XML文件
- 7. 如何使用xml讀取器讀取XML文件?
- 8. 如何讀取和獲取xml的值
- 9. 讀取XML injava
- 10. 讀取XML值
- 11. 讀取的XML
- 12. 讀取XML與
- 13. 讀取XML
- 14. 如何讀取本地xml文件
- 15. 如何讀取/寫入xml文件?
- 16. 在SQL Server中如何讀取XML值
- 17. C#如何讀取XML用的XElement
- 18. 如何通過元素ID讀取XML?
- 19. 如何讀取使用LINQ到XML
- 20. 如何在xml中讀取Dc:creator標籤?
- 21. 如何從XML文件讀取數組?
- 22. PHP - 如何讀取私人XML文件?
- 23. 如何在C#中讀取XML文檔
- 24. 如何從.xml文件讀取信息
- 25. 如何在C#中讀取xml文件?
- 26. 如何讀取XML標記的內容
- 27. 如何使用Linq讀取XML
- 28. 如何在XNA中讀取.XML文件?
- 29. 如何使用EMF讀取XML文件?
- 30. 如何從jar中讀取xml文件