<AR-PACKAGE>
<SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
<ELEMENTS>
<IMPLEMENTATION-DATA-TYPE>
<SHORT-NAME>uint8</SHORT-NAME>
<CATEGORY>VALUE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<BASE-TYPE-REF DEST="SW-BASE-TYPE">/DataTypes/BaseTypes/uint8</BASE-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE>
</ELEMENTS>
</AR-PACKAGE>
xml文件结构如上所示,
要求读这个节点的值“/DataTypes/BaseTypes/uint8”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
namespace Q690338
{
class Program
{
static void Main(string[] args)
{
string xml = @"<AR-PACKAGE>
<SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
<ELEMENTS>
<IMPLEMENTATION-DATA-TYPE>
<SHORT-NAME>uint8</SHORT-NAME>
<CATEGORY>VALUE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<BASE-TYPE-REF DEST=""SW-BASE-TYPE"">/DataTypes/BaseTypes/uint8</BASE-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE>
</ELEMENTS>
</AR-PACKAGE>";
var doc = XDocument.Parse(xml);
var query = doc.Element("AR-PACKAGE")
.Element("ELEMENTS")
.Elements("IMPLEMENTATION-DATA-TYPE").First()
.Element("SW-DATA-DEF-PROPS")
.Elements("SW-DATA-DEF-PROPS-VARIANTS").First()
.Elements("SW-DATA-DEF-PROPS-CONDITIONAL").First()
.Element("BASE-TYPE-REF").Value;
Console.WriteLine(query);
}
}
}
问题得到解决的话,麻烦在我的回答的右边点个采纳,谢谢。