2013-03-16 68 views
0

我在寫一個.asmx Web服務以返回所有汽車從XML文件內匹配請求的模型。通過使用.asmx Web服務從XML文件提供汽車模型返回汽車製造

在ASP.net使用VB,你可以建議我怎麼會:

1)先找到一個匹配的要求化妝,然後 2)返回所有車型?

下面是一個XML示例。謝謝!

<cars> 
    <car> 
    <carmake>Acura</carmake> 
    <carmodels> 
     <carmodel>ILX</carmodel> 
     <carmodel>MDX</carmodel> 
     <carmodel>RDX</carmodel> 
    </carmodels> 
    </car> 

    <car> 
    <carmake>Aston Martin</carmake> 
    <carmodels> 
     <carmodel>DB9</carmodel> 
     <carmodel>DBS</carmodel> 
     <carmodel>Rapide</carmodel> 
    </carmodels> 
    </car> 
</cars> 

回答

1

你可以通過使用XPath

Dim doc As New Xml.XmlDocument 
doc.LoadXml("yourinputxmlasstring") 

Dim maker As String = "Aston Martin" 
For Each x As Xml.XmlNode In doc.SelectNodes("cars/car[carmake='" + maker + "']") 
    For Each p As Xml.XmlNode In x.SelectNodes("carmodels/carmodel") 
     Console.WriteLine(p.InnerText) 
    Next 
Next 
+0

感謝。試過這個,在doc.LoadXml行上出現錯誤: 根級別的數據無效。第1行,位置1. – bommerts 2013-03-18 16:24:27

+0

問題解決:我用doc.Load代替doc.LoadXml。謝謝 - 這個代碼完美地工作! – bommerts 2013-03-18 16:29:00

+0

有關如何將搜索轉換爲小寫的任何建議? maker.tolower的作品,但「汽車/汽車[carmake =」字符串? – bommerts 2013-03-18 17:24:56