我想檢查xml文件中是否存在特定的節點。我正在處理非結構化數據,因此某些節點不會出現在每個xml文件中,並且有時會出現多次出現的相同節點名稱,除非它們是其他節點的子節點。如果多次出現相同的節點名稱,如何在R中選擇特定的xml節點?
下面是一個xml文件示例,與我正在使用的文件類似。如你所見,節點NM出現兩次。但是,我只想要第一個值,而不是發生的其他值。有沒有辦法指定我只想要檢索NM的第一次出現?如果它是另一個節點的子節點,即那些是StagesStage子節點的子節點,那麼或者我不想要NM值。
我正在使用包XML,以下是檢索節點詳細信息的代碼。
XML:
<Product>
<ID>1</ID>
<NM>Product Name</NM>
<DN>Product Description</DN>
<SalesStage>
<NM>Sales Stage Name</NM>
</SalesStage>
</Product>
R代碼裏面:
doc = xmlInternalTreeParse("File.xml")
NM_Node = xpathApply(doc, "//NM")
print(NM_Node)
[[1]]
<NM>Product Name</NM>
[[2]]
<NM>Sales Stage Name</NM>
attr(,"class")
[1] "XMLNodeSet"
因此,在短期,我只想找回價值 「產品名稱」,而不是 「銷售藝名」。無論如何,我可以在R中實現這一點嗎?
'xpathSapply()'以及(VS'xpathApply()')如果OP只是想要一個特徵向量回來。但是,對於從未與R合作過的人來說,可靠的代碼。 – hrbrmstr
@亞歷A你知道我可以發誓我已經嘗試過,但低,看到它的作品!非常感謝!真的很感激它! – Eoin
@hrbrmstr'xpathSapply()'和'xpathApply()'有什麼區別? – Eoin