我有一个以下格式的xml
<maintag>
<common1> 123 </common1>
<common2> 234 </common>
<part>
<partid>1</partid>
<partprice> 500 </partprice>
</part>
<part>
<partid>1</partid>
<partprice> 500 </partprice>
</part>
</maintag>
我的要求是选择身份1的partid
。我还需要标记<common1>
,
<common2
&GT;对于我的结果中的两个部分来说,这通常是C#
答案 0 :(得分:1)
你没有完全指明你想要的罪。我已经做了一个例子。
(注意)<common2 >
元素与结束类型< common>
不匹配,这需要</common2 >
!!
加载文件XDocument
XDocument _doc = XDocument.Load("C:\\t\\My File2.txt");
获取常用元素
string common1 = _doc.XPathSelectElement("maintag/common1").Value;
string common2 = _doc.XPathSelectElement("maintag/common2").Value;
获取部分ID == 1的所有元素并将其放入列表
List<XElement> data = _doc.XPathSelectElements("maintag/part").Where(x => x.Element("partid").Value == 1.ToString()).ToList();
// loop al elemements and extract results from previous query
foreach (XElement row in data)
{
// Get value from partid element
string id = row.Element("partid").Value;
// Get value from partprice element
string price = row.Element("partprice").Value;
}
选择与id 1匹配的第一个元素
XElement data2 = _doc.XPathSelectElements("maintag/part").Where(x => x.Element("partid").Value == 1.ToString()).FirstOrDefault();
// Get value from partid element
string id1 = data2.Element("partid").Value;
// Get value from partprice element
string price1 = data2.Element("partprice").Value;