XML 和 soapenv
XML and soapenv
我正在尝试创建一个 xml ..
运行 下面的代码,创建了第一个文档..
但是最后一行直接kill rstudio .. (R session aborted ..)
library(XML)
# CREATE XML FILE
doc = newXMLDoc()
root = newXMLNode("Envelope", doc = doc)
# WRITE XML NODES AND DATA
mvNode = newXMLNode("Header/", parent = root)
mvNode = newXMLNode("Body", parent = root)
print(doc)
# CREATE XML FILE
doc = newXMLDoc(namespaces = list("http://schemas.xmlsoap.org/soap/envelope/"))
root = newXMLNode("soapenv:Envelope", doc = doc)
# WRITE XML NODES AND DATA
mvNode = newXMLNode("soapenv:Header", parent = root)
mvNode = newXMLNode("soapenv:Body", parent = root)
有人可以确认吗?有人可以解释这个问题吗?
考虑使用 fixNamespaces
参数,指定 dummy=FALSE
让子节点使用祖先命名空间,这似乎解决了这个有趣的问题(也发生在 RGui 中)。
此外,newXMLDoc
中的 namespaces
参数(复数)似乎不适用于后续的 newXMLNode
。这样的论点可能与在其方法中添加的节点有关 ...
我无法开始工作。因此,在根目录或命名空间所需的最高级别定义命名空间。
# CREATE XML FILE
doc <- newXMLDoc()
root <- newXMLNode(
"soap:Envelope",
doc = doc,
namespace = c(soap="http://schemas.xmlsoap.org/soap/envelope/"),
fixNamespaces = c(dummy=FALSE, default=TRUE)
)
# WRITE XML NODES AND DATA
mvHeader <- newXMLNode(
"soap:Header", parent = root, fixNamespaces = c(dummy=FALSE, default=TRUE)
)
mvBody <- newXMLNode(
"soap:Body", parent = root, fixNamespaces = c(dummy=FALSE, default=TRUE)
)
print(doc)
# <?xml version="1.0"?>
# <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
# <soap:Header/>
# <soap:Body/>
# </soap:Envelope>
我正在尝试创建一个 xml .. 运行 下面的代码,创建了第一个文档.. 但是最后一行直接kill rstudio .. (R session aborted ..)
library(XML)
# CREATE XML FILE
doc = newXMLDoc()
root = newXMLNode("Envelope", doc = doc)
# WRITE XML NODES AND DATA
mvNode = newXMLNode("Header/", parent = root)
mvNode = newXMLNode("Body", parent = root)
print(doc)
# CREATE XML FILE
doc = newXMLDoc(namespaces = list("http://schemas.xmlsoap.org/soap/envelope/"))
root = newXMLNode("soapenv:Envelope", doc = doc)
# WRITE XML NODES AND DATA
mvNode = newXMLNode("soapenv:Header", parent = root)
mvNode = newXMLNode("soapenv:Body", parent = root)
有人可以确认吗?有人可以解释这个问题吗?
考虑使用 fixNamespaces
参数,指定 dummy=FALSE
让子节点使用祖先命名空间,这似乎解决了这个有趣的问题(也发生在 RGui 中)。
此外,newXMLDoc
中的 namespaces
参数(复数)似乎不适用于后续的 newXMLNode
。这样的论点可能与在其方法中添加的节点有关 ...
我无法开始工作。因此,在根目录或命名空间所需的最高级别定义命名空间。
# CREATE XML FILE
doc <- newXMLDoc()
root <- newXMLNode(
"soap:Envelope",
doc = doc,
namespace = c(soap="http://schemas.xmlsoap.org/soap/envelope/"),
fixNamespaces = c(dummy=FALSE, default=TRUE)
)
# WRITE XML NODES AND DATA
mvHeader <- newXMLNode(
"soap:Header", parent = root, fixNamespaces = c(dummy=FALSE, default=TRUE)
)
mvBody <- newXMLNode(
"soap:Body", parent = root, fixNamespaces = c(dummy=FALSE, default=TRUE)
)
print(doc)
# <?xml version="1.0"?>
# <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
# <soap:Header/>
# <soap:Body/>
# </soap:Envelope>