我是新來的,所以請耐心等待。我正試圖將一些XML數據轉移到Microsoft SQL Server中。我假設這些數據需要作爲元素而不是屬性傳輸,因爲列的內容不會是靜態的。試圖將xml數據轉換爲SQL作爲元素(非屬性)
但是,由於某些原因,當我試圖將數據作爲元素傳輸時,我得到NULL值。但是,當我嘗試將相同的數據作爲屬性進行傳輸時,它看起來應該是這樣。我很想聳聳肩,然後繼續前進,但我擔心如果我稍後在道路上這樣做,事情可能會出錯。
我已經從這個XML中獲得了一些屬性,我設法將這些屬性合併到這些僞裝成屬性的元素中。它會起作用嗎?如果它確實會在路上出現問題嗎?
這裏是我的SQL代碼時,我試圖要素轉移的要素:
SELECT *
FROM OPENXML (@hdoc, '/roll/voter', 2)
WITH (
id int,
[value] char(50),
[state] char(2))
這裏是我的SQL代碼時,我嘗試的元素傳遞的屬性:
SELECT *
FROM OPENXML (@hdoc, '/roll/voter', 1)
WITH (
id int,
[value] char(50),
[state] char(2))
這裏XML文檔的小型化版本:
<roll>
<voter id="400048" value="Yea" state="FL" />
<voter id="412516" value="Yea" state="CA" />
</roll>
這裏是一個鏈接到xml d通過谷歌驅動器(非常小的XML)ocument:https://drive.google.com/open?id=0B5VgOwWcGeLHaWctRU56Qlk3UWM
A screenshot of my SQL query, the table results, and the XML
不知道你想達到什麼,但第一個正確的語法是'FROM OPENXML(@hdoc,'/ roll/voter',2)WITH(id int'@id',[value] char(50)'@value',[state] char(2)'@state')'或者類似的東西。 – ZLK
@ZLK 使用別名我能夠使元素工作的傳輸。是否需要別名來使元素工作,但不需要屬性? –
我不確定我明白爲什麼別名是第一個查詢所必需的。 –