0
多個值我有一些XML的文件與標記是這樣的:選擇從XML的XDocument(VB.NET)
<?xml version="1.0" encoding="ISO-8859-1"?>
<clients>
<client id="00000" name="Donald Duck">
<group id="AAA" name="ClientInfo">
<term id="Sex">Male</term>
<term id="Status">In a relationship</term>
</group>
<group id="BBB" name="ClientTelephoneNumbers">
<term id="Home">0000-0000000</term>
<term id="Cell">1111-1111111</term>
</group>
<group id="CCC" name="WorkingStatus">
<term id="HasAJob">Yes</term>
<term id="Where">Somewhere</term>
</group>
</client>
<client id="11111" name="Daisey Duck">
<group id="AAA" name="ClientInfo">
<term id="Sex">Female</term>
<term id="Status">In a relationship</term>
</group>
<group id="BBB" name="ClientTelephoneNumbers">
<term id="Home">2222-2222222</term>
<term id="Cell">3333-3333333</term>
</group>
<group id="CCC" name="WorkingStatus">
<term id="HasAJob">Unknown</term>
<term id="Where">Unknown</term>
</group>
</client>
</clients>
什麼我想要做的只是選擇一些這些值輸出。
如果我有這樣的代碼:
Dim xml As XDocument = Xdocument.Load(ducks.xml)
For Each Duck As XElement in xml.Descendants("client")
Dim Name As String = Duck.Attribute("Name").Value
Next
我得到了鴨子的姓名(或名稱),但比方說,我想要得到的手機號碼,家庭電話號碼和狀態,我怎麼能那麼從屬性等於某個元素的元素中獲取值?
在實際情況下,組ID:s更復雜,所以我寧願不必計數元素,我想通過它們的元素屬性來選擇它們。像這樣:
Dim xml As XDocument = Xdocument.Load(ducks.xml)
For Each Duck As XElement in xml.Descendants("client")
Dim Name As String = Duck.Attribute("Name").Value
Dim Cellphone As string = Duck.Element("group WHERE id IS BBB").Element("term WHERE id IS Cell").Value
Dim Homephone As string = Duck.Element("group WHERE id IS BBB").Element("term WHERE id IS Home").Value
Next
我已經嘗試了一些查詢,但不能真正得到它的竅門。有什麼建議麼?
編輯注:這不是我在Duck.Element查詢或一些有真正的嘗試(「嗒嗒WHERE嗒嗒」),這只是描述我想要什麼......
那麼,現在這東西存儲在「v」,我猜?我現在怎麼打印出手機號碼? Console.WriteLine(v。?)? – gubbfett
@gubbfett:'v'是對象的集合 - 請參閱我的編輯。可能你可以有多個對象。在當前的例子中,當然只有一個。所以你可以寫'Console.WriteLine(v(0).cellPhone)'。理想情況下,你會有一個循環,通過這個集合。 – Neolisk
非常感謝! :) – gubbfett