Sud*_*ha 1 c# xml search xml-parsing
我有一个类似的XML
文件,我需要搜索它的值..好像例如当输入产品名称时,应显示相关价格
如果有一个简单的方法比解析和循环搜索值?
<products>
<product>
<Name> PRODUCT 1</Name>
<price>150</price>
</product>
<product>
<Name> PRODUCT 2</Name>
<price>250</price>
</product>
<product>
<Name> PRODUCT 3</Name>
<price>300</price>
</product>
<products>
Run Code Online (Sandbox Code Playgroud)
你可以使用XPath:
XmlDocument doc = new XmlDocument();
doc.Load("myfile.xml");
XmlNode myPrice = doc.SelectSingleNode("/products/product[Name=' PRODUCT 1']/price");
Console.WriteLine(myPrice.InnerText);
Run Code Online (Sandbox Code Playgroud)
输出
150
Run Code Online (Sandbox Code Playgroud)
请注意,产品标识符之前的空格很重要.
如果您愿意,可以使用XPathDocument执行相同的操作:
XPathDocument doc = new XPathDocument("myfile.xml");
XPathNavigator xpath = doc.CreateNavigator();
XPathNavigator myPrice = xpath.SelectSingleNode("/products/product[Name=' PRODUCT 1']/price");
Console.WriteLine(myPrice.ToString());
Run Code Online (Sandbox Code Playgroud)
也是输出
150
Run Code Online (Sandbox Code Playgroud)
在.NET 2.0中测试了这两个.