如何用单条XPath获取列表或独立节点中的目标值(排除无关内容)
解决RimWorld XML补丁的XPath节点选择问题
针对你的需求,直接选中<li>Thing</li>和<value>Foo</value>且排除其他节点的XPath 1.0语句如下:
//li[text()='Thing'] | //value[text()='Foo']
说明:
- 用
|运算符合并两个独立的XPath路径,分别精准定位目标节点,不会选中<values>父节点或<other>Var</other>。 - 如果需要更通用的匹配逻辑(比如不依赖具体文本内容),可以根据节点层级关系编写:
//something1/values/li | //something2/value
参考XML结构:
<?xml version="1.0" encoding="utf-8"?> <Defs> <something1> <values> <li>Thing</li> </values> </something1> <something2> <value>Foo</value> </something2> <something3> <other>Var</other> </something3> </Defs>
预期输出:
<li>Thing</li> <value>Foo</value>
内容的提问来源于stack exchange,提问作者Brandon Weston
相关产品推荐
相关产品推荐

