///XPath: System.Xml import console.int; import dotNet; //导入 .NET 命名空间(Win7 或 .NET 2.0 开始已经自带 System.Xml ) dotNet.import("System.Xml"); //文档: https://learn.microsoft.com/zh-cn/dotnet/api/system.xml.xmldocument?view=netframework-2.0 var xmlDoc = System.Xml.XmlDocument(); xmlDoc.LoadXml(` <国家 id="china"> <省份> <省份详情 id="shanxi">陕西 <地区> <市 id="xian">西安 <市 id="xianyang">咸阳 <省份> <省份详情 id="hunan">湖南 <地区> <市 id="changsha">长沙 <市 id="zhuzhou">株洲 `) //XPath 查询 var ele = xmlDoc.SelectSingleNode(`//省份/省份详情[@id="shanxi"]`); console.log(ele.OuterXml); /* XPath 语法速查 https://quickref.me/zh-CN/docs/xpath.html `//省份/省份详情[@id="shanxi"]` 表示在『省份』下面去找『省份详情』,用斜杠分隔上下级关级。 两个 // 表示任意子级(忽略中间隔了多少层)。 最开始如果是单个 / 表示根节点。 `省份详情[@id="shanxi"] ` 表示『省份详情』必须有一个 id 属性,值为 "shanxi" 。 属性名前面加一个 @ 符号。 */