Я пытаюсь прочитать файл xml, который использует XInclude для сборки xml из нескольких файлов xml. например, если у меня есть 2 xml файлов с именами "parent. xml" и "child. xml", которые выглядят так:
файл с именем "parent. xml"
<foo xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="child.xml"/>
</foo>
файл с именем "child. xml"
<bar>hi bar</bar>
, когда я пытаюсь прочитать их с помощью xml2
примерно так
x <- xml2::read_xml("parent.xml", options = c("XINCLUDE"))
xml2::write_xml(x, file = "xml2.xml")
my "xml2. xml "Выходной файл выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<foo xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="child.xml"/>
</foo>
Проблема в том, что содержимое" child. xml "не включено в вывод (в нем по-прежнему есть тег <xi:include>
). Я пробовал разные варианты, но не повезло.
Пакет XML
R работает так, как я и ожидал. например,
x <- XML::xmlParse("parent.xml", options = c(XINCLUDE))
XML::saveXML(x, file = "XML.xml")
выглядит как
<?xml version="1.0"?>
<foo xmlns:xi="http://www.w3.org/2001/XInclude">
<bar>hi bar</bar>
</foo>
Прошу прощения за мое xml невежество и большое спасибо за вашу помощь!