繁体   English   中英

R - GetNodeSet 返回空列表

[英]R - GetNodeSet Returning empty list

我有一个 xml 文件并且 getnodeset 返回一个空列表,而我希望它返回一些东西。 我不确定我的 xpath 是关闭还是其他。 我正在使用 R Studio 和 XML package。

“My Design.xml”文件保存在本地,但这里有一个示例: https://raw.githubusercontent.com/hpxmlwg/hpxml/master/examples/bpi2101.xml

library(XML)
#Parsing this way works fine
hpx <- xmlRoot(xmlTreeParse("My Design.xml"))
hpx[[1]][[2]]    

#But this way returns empty lists
hpx2 <- xmlInternalTreeParse("My Design.xml")
getNodeSet(hpx2, "/HPXML/XMLTransactionHeaderInformation/XMLGeneratedBy")

您的 xml 文件具有与之关联的关联命名空间。 处理它有两种选择。 使用命名空间来指定节点或剥离命名空间。

library(xml2)
library(magrittr)

page<-read_xml("https://raw.githubusercontent.com/hpxmlwg/hpxml/master/examples/bpi2101.xml")

#specify the namespace
xml_ns(page)
xml_find_all(page, ".//d1:XMLGeneratedBy") %>% xml_text()


#or strip the namespace out
xml_ns_strip(page)
xml_find_all(page, ".//XMLGeneratedBy") %>% xml_text()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM