- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的递归 XInclude 语句有问题。我有一个主文件,其中 XInclude 存在于另一个文件中。在包含的文件中还有更多的 XInclude 语句。
我用 python 和库 lxml 解析我的 XML 文件。结果,不幸的是,我只能得到以下信息。我的错误在哪里?或者不需要递归使用 XInlcude?
谢谢你的帮助。
主文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<TEST Id = "MyTest" xmlns:xi="http://www.w3.org/2001/XInclude" >
<FOO>
<BAR/>
</FOO>
<xi:include xpointer="element(/1/1)" href="Test_1.xml"/>
</TEST>
拳头包括
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<TEST.INCLUDE xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="Test_1_1.xml" xpointer="element(/1/1)"/>
<xi:include href="Test_1_2.xml" xpointer="element(/1/1)"/>
<xi:include href="Test_1_3.xml" xpointer="element(/1/1)"/>
</TEST.INCLUDE>
第二个包含(Test_1_1.xml、Test_1_2.xml 和 Test_1_3.xml 在这个例子中是相同的)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<TEST.INCLUDE>
<FOO Id="Test_1_1">
<BAR/>
</FOO>
</TEST.INCLUDE>
我的结果是以下 python 代码。
import lxml
from lxml import etree
import xml.etree.ElementTree as ET
XMLParser = lxml.etree.XMLParser()
XMLFile = lxml.etree.parse('Model.xml', parser=XMLParser)
XMLFile.xinclude()
XMLFile.write(f"Model_xinclude.xml",method="xml",pretty_print=True)
结果
<TEST xmlns:xi="http://www.w3.org/2001/XInclude" Id="MyTest">
<FOO>
<BAR/>
</FOO>
<FOO Id="Test_1_1">
<BAR/>
</FOO>
</TEST>
但我会期望并想要以下结果
<TEST xmlns:xi="http://www.w3.org/2001/XInclude" Id="MyTest">
<FOO>
<BAR/>
</FOO>
<FOO Id="Test_1_1">
<BAR/>
</FOO>
<FOO Id="Test_1_2">
<BAR/>
</FOO>
<FOO Id="Test_1_3">
<BAR/>
</FOO>
</TEST>
最佳答案
在主文件 (Model.xml) 中,您有这个 include
元素:
<xi:include xpointer="element(/1/1)" href="Test_1.xml"/>
它将只选择第一个
include
Test_1.xml 中的元素。
<xi:include xpointer="element(/1/1)" href="Test_1.xml"/>
<xi:include xpointer="element(/1/2)" href="Test_1.xml"/>
<xi:include xpointer="element(/1/3)" href="Test_1.xml"/>
这可以通过使用
xpointer()
来简化。方案,需要一行:
<xi:include xpointer="xpointer(/TEST.INCLUDE/*)" href="Test_1.xml"/>
关于python - 带有递归 XInclude 语句的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63816469/
我想要一个使用 XInclude 创建多重嵌套 XML 文档的可移植解决方案。我正在使用 元素并从流中获取输入。到目前为止,这失败了(我正在使用具有自己的 XIncluder 的 XOM)报告它找不到
考虑这两个 XML 文档: a.xml b.xml Hi Mom! 应该是什么命名空间?元素在包含之后,foo还是没有命名空间? 使用 Nokogiri使用 XInclude 处理加载第一
据我所知,在 .net 中不支持 XInclude。 我想对分层组织的 XML 配置文件使用相同类型的机制。我的意思是我有一个引用特定 Xml 文件的顶级 XML 配置文件。我的配置是专用于一个特定模
我想将一个 XML 文档的内容包含到另一个 XML 文档中,并通过 xmlstarlet+XSLT 对其进行转换。我正在尝试使用 XInclude。 (我是 XInclude 和 XSLT 的新手。)
我正在尝试让 xincludes 在现有系统中工作,该系统使用 xercesc 中的 XercesDOMParser 来解析来自客户端的传入 xml。我正在使用 Apache Xercesc v3.0
我正在尝试使用 XML Includes 来帮助管理需要供人和机器使用的大型 XML 结构。 但是在尝试构建可针对现有模式进行验证的 XML 文件时,我遇到了无数问题。这是我正在尝试做的事情的简化示例
我正在尝试解码一个包含 的 xml 文档里面的标签。但是 SAXParser 不允许这样做,即使我明确告诉 SAXParserFactory 允许它。 Java代码: SAXParserFactor
我的递归 XInclude 语句有问题。我有一个主文件,其中 XInclude 存在于另一个文件中。在包含的文件中还有更多的 XInclude 语句。 我用 python 和库 lxml 解析我的 X
我已经多次看到这个例子: public class XIncludeTest { public static void main(String[] args) throws Exception {
我了解到 XInclude 在从不受信任的来源接收 XML 时是一个潜在的漏洞。参见 https://www.owasp.org/index.php/XML_External_Entity_(XXE)
我在 DocBook 5.0 中工作,创建一个写作/编辑/生产环境。我根据 DB5 的 RNG 模式版本验证我的 XML。 为了使我的环境更易于使用,我喜欢将我的书分成多个文件,使用 xinclude
我在我的应用程序中看到,已解析的 XML 文件中的 xinclude 在我的 Java XSLT 转换中不起作用。 但是,尽管我这样做: DocumentBuilderFactory factory
我正在 IzPack 中创建安装程序。它非常大,我已经使用 和 标记适本地分解了我的 XML 文件。不幸的是,当您构建安装程序时,IzPack 不会将它们组合在一起。这需要您使用安装程序打包文件,这是
用tomcat 7配置solr4.7.2后,solrAdmin页面报错 SolrCore 初始化失败 fran92:org.apache.solr.common.SolrException:org.a
我在我的应用程序中看到,我解析的 XML 文件中的 xinclude 在我的 Java XSLT 转换中不起作用。 然而,尽管我这样做: DocumentBuilderFactory factory
我有一组 XML 文件(具体来说是 DocBook)。它们使用 XML 包含(又名 XInclude)来相互引用。给定这些 XML 文件之一,找出引用它的文件列表的最佳方法是什么?我正在寻找为该文件建
XLink、XPointer 和 XInclude 有什么区别? 太乱了。有人可以解释一下区别吗? 最佳答案 简答: XLink 和 XPointer 非常相似,因为它们提供了一种引用其他元素的方法,
我想合并 2 个具有相同结构的 XML 文件来制作一个。例如; Test1.xml
我正在尝试将另一个 xml 文件包含到我的更改日志中,该文件是 XML 文件的片段。每当我在 liquibase 中执行更改日志时,它都会成功执行(没有任何解析错误),但数据库中不会创建任何表。 我不
我目前正在使用 VS2008、C# 3.5 和 LINQ 来读取 XML 文件。 (称之为 A.xml)我想使用 xinclude 将其他 XML 文件包含在 A.xml 中。我最初的尝试失败了,而且
我是一名优秀的程序员,十分优秀!