我有以下 xml(TEI) 结构:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="../schema/tei_color.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="../schema/tei_color.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
</teiHeader>
<text xml:id="Z_1822-02-20_k" xml:lang="ger">
<body>
<div>
<div rendition="simple:half-broken">
<pb n="46r" facs="#Z_1822-02-20_k_A_0001"/>
<cb rendition="simple:column-left"/>
</div>
<div>
<cb rendition="simple:column-right"/>
<p>
<handShift scribeRef="#Z_1822-02-20_k_scrb_1_t"/>Auf
<pb n="46v" facs="#Z_1822-02-20_k_A_0002"/>
<hi rendition="simple:italic">Heliostaten</hi> von dem Herrn Geheimen<lb/>Post-Rath
</p>
</div>
</div>
</body>
</text>
</TEI>
使用 XPath 如何获取 pb 元素,包括其下的 xml 内容。
答案 0 :(得分:0)
根据您使用 xpath 的语言,您可以使用 2 种不同的 XPath,如下所示:
//pb
和
//pb/following-sibling::*
或者,如果您可以在变量中重用 //pb,只需使用通过 XPath 扩展的变量:
./following-sibling::*
或者使用联合运算符 |
合而为一:
//pb | //pb/following-sibling::*
如果其下的xml内容可能只是纯文本,则应使用:
//pb | //pb/following-sibling::node()
node()
将选择所有节点,包括 text()
-nodes 以及 element()
-nodes。有关 node() 的更多信息,请参阅 this answer。