我试图解析一个dtbook的XML,其中包含以后包含p标签的级别(1,2和3)。我正在用PHP DOM做这件事。 Link to XML如何分别使用PHP DOM解析PCDATA和子元素?
这些p标签里面有索引标签。我确实掌握了这些内容,但似乎我能够得到的唯一结果是noteref出现在p-tag之前或之后。我需要一些noterefs出现在p-tag内部;或换句话说,它们实际上应该是在哪里。
<p>Special education for the ..... <noteref class="endnote" idref="fn_5"
id="note5">5</noteref>. Interest ..... 19th century <noteref class="endnote"
idref="fn_6" id="note6">6</noteref>.</p>
这是我现在为p标签获得的代码。在此之前,我正在循环阅读dt书以获取p标签。这工作正常。
if($level1->tagName == "p") {
echo "<p>".$level1->nodeValue;
$noterefs = $level1->childNodes;
foreach($noterefs as $noteref) {
if($noteref->nodeType == XML_ELEMENT_NODE) {
echo "<span><b>".$noteref->nodeValue."</b></span>";
}
}
echo "</p><br>";
}
这些都是结果我得到:
特殊教育的..... 5.利息..... 19世纪6,56
特殊教育..... 5.兴趣..... 19世纪6.
我也想要th e p-tag到而不是显示noteref-tag中的内容。这应该由noteref-tag(仅)完成。
那么,有没有人知道可以做些什么来解决这些问题?这感觉就像我已经Google和Google尝试几乎所有东西。
谢谢,它工作完美!而p标签只包含noterefs,所以不会是一个问题。 是的,我已经尝试过使用XSLT,并且该部分与它完美配合。但是在尝试使用JavaScript来制作图书翻页等时我遇到了一些其他问题,所以我选择使用DOM来代替。 – lindastralberg
@lindastralberg对!很高兴听到它的帮助。 –