gpt4 book ai didi

xml - 使用 xpathSApply、R v3.1.1、XML v3.98-1.1 解析 XML 文件时出现问题

转载 作者:数据小太阳 更新时间:2023-10-29 02:53:26 26 4
gpt4 key购买 nike

我正在尝试在 R 中解析以下 XML 文件:http://reports.ieso.ca/public/GenOutputCapability/PUB_GenOutputCapability_20140517_v24.xml

到目前为止,我的脚本非常简单:

file <- "http://reports.ieso.ca/public/GenOutputCapability/PUB_GenOutputCapability_20140517_v24.xml"
doc <- xmlTreeParse(file, useInternal=TRUE)
rootNode <- xmlRoot(doc)
xpathSApply(rootNode, "//GeneratorName", xmlValue)

每当我运行它时,我的输出只是一个空列表。

将此用于其他 XML 文件,我可以毫无问题地提取值,但对于这个特定文件,我无法提取任何内容。我已经尝试了许多不同的节点、大写字母、使用 useInternal=FALSE 以及我可以尝试的任何其他组合,但仍然没有成功。

例如,我可以使用 rootNode[["IMODocBody"]][["Date"]] 语法访问部件以获取日期,因此我知道文件已加载。有什么想法吗?

最佳答案

您需要使用适当的命名空间:

> head(xpathSApply(doc, "//ns:GeneratorName", xmlValue
, namespaces = c(ns = "http://www.theIMO.com/schema")))
[1] "BRUCEA-G1" "BRUCEA-G2" "BRUCEA-G3" "BRUCEA-G4" "BRUCEB-G5" "BRUCEB-G6"

参见 ?xmlNamespaceDefinitions

> xmlNamespaceDefinitions(doc)
[[1]]
$id
[1] ""

$uri
[1] "http://www.theIMO.com/schema"

$local
[1] TRUE

attr(,"class")
[1] "XMLNamespaceDefinition"

$xsi
$id
[1] "xsi"

$uri
[1] "http://www.w3.org/2001/XMLSchema-instance"

$local
[1] TRUE

attr(,"class")
[1] "XMLNamespaceDefinition"

attr(,"class")
[1] "XMLNamespaceDefinitions"

关于xml - 使用 xpathSApply、R v3.1.1、XML v3.98-1.1 解析 XML 文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25315853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com