xml 相关问题

可扩展标记语言(XML)是一种灵活的结构化文档格式,用于定义人类和机器可读的编码规则。

如何提高xml解析性能

我有一个很大的 xml,其中包含许多记录作为子元素。有许多测试元素,每个测试元素内有许多 testchild 元素。大约有 200 个元素或 300 个或更多。作为...

回答 1 投票 0

使用 XQuery/XPath 计算多个 XML 文件中的不同值

我有几个 XML 文件,它们都具有相同的结构。我需要找到每个元素中出现的所有不同值并对每个不同的出现次数进行计数。 这样做的最佳方法是什么...

回答 1 投票 0

如何在准确保留结构的同时将 Python 字典转换为 XML 字符串并返回?

我需要将一些 json 转换为 xml,然后再转换回 json,最好保留结构。我已经非常接近了,但我找不到一种方法来使用 dicttoxml/xmltodict 来避免每个 l...

回答 1 投票 0

将 XSL-FO 转换为 HTML

我被要求查看一些旧的 XSL-FO 样式表并将它们转换为 XSLT (HTML),以便我可以获得 HTML 输出。 我能找到的唯一工具是 RenderX XSLFOToHTML 中的工具,但我不知道...

回答 1 投票 0

XSL 顺序排序执行

我正在尝试使用 XSL 根据其内部列表的排序对列表进行排序。 我有以下 XML 我正在尝试使用 XSL 根据其内部列表的排序对列表进行排序。 我有以下 XML <Shirt> <Material Name="Fleece"> <Color Name="Green"> <Details> <!--Omitted--> </Details> </Color> <Color Name="Blue"> <Details> <!--Omitted--> </Details> </Color> </Material> <Material Name="Cotton"> <Color Name="Red"> <Details> <!--Omitted--> </Details> </Color> <Color Name="Acolor"> <Details> <!--Omitted--> </Details> </Color> </Material> </Shirt> 我有以下 XSL <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" omit-xml-declaration="yes"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <!-Sort this first--> <xsl:template match="Shirt/Material"> <xsl:copy> <xsl:apply-templates select="Color|@*"> <xsl:sort select="@Name" order="ascending" /> </xsl:apply-templates> </xsl:copy> </xsl:template> <!-Sort this second--> <xsl:template match="Shirt"> <xsl:copy> <xsl:apply-templates select="Material|@*"> <xsl:sort select="Color/@Name" order="ascending" /> </xsl:apply-templates> </xsl:copy> </xsl:template> </xsl:transform> 我获得以下输出 <Shirt> <Material Name="Fleece"> <Color Name="Blue"> <Details> <!--Omitted--> </Details> </Color> <Color Name="Green"> <Details> <!--Omitted--> </Details> </Color> </Material> <Material Name="Cotton"> <Color Name="Acolor"> <Details> <!--Omitted--> </Details> </Color> <Color Name="Red"> <Details> <!--Omitted--> </Details> </Color> </Material> </Shirt> 我的目标是让材质“Cotton”成为列表中的第一个,因为按字母顺序排序时它的颜色为“AColor”。据我了解,转换会以不明确的顺序投影到输出树。但是,是否可以在 XSL 中“顺序”执行排序转换?首先对颜色列表进行排序,然后对材质列表进行排序? 另外,不幸的是我只能使用 XSLT 1.0 首先对颜色列表进行排序,然后根据材质列表进行排序? 试试这个方法: XSLT 1.0 + EXSLT 节点集() 函数 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:strip-space elements="*"/> <!-- identity transform --> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="Shirt"> <xsl:copy> <!-- pre-sort --> <xsl:variable name="pre-sort"> <xsl:apply-templates select="Material" mode="first-pass"/> </xsl:variable> <!-- output --> <xsl:apply-templates select="exsl:node-set($pre-sort)/Material"> <xsl:sort select="Color[1]/@Name"/> </xsl:apply-templates> </xsl:copy> </xsl:template> <xsl:template match="Material" mode="first-pass"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates select="Color"> <xsl:sort select="@Name" /> </xsl:apply-templates> </xsl:copy> </xsl:template> </xsl:stylesheet>

回答 1 投票 0

从 Companies House 的 iXBRL 文件中提取帐户

我可以通过 Companies House 的 API 下载 iXBRL 文件 (.xhtml)。现在我试图从文件中提取个人财务账户(例如现金、资产等)。 该文件是(例如...

回答 1 投票 0

Android:提供资源时区分设备分辨率

我有一个android项目为不同的屏幕分辨率提供不同的dimens.xml。我通过在 /res 文件夹中定义 value-swXXXdp 文件夹来实现此目的。 然而,我现在遇到了麻烦

回答 1 投票 0

从海康威视LPR相机获取车牌(仅返回最后20张车牌)如何检索更多?

我想从 LPR 海康威视相机检索车牌,但 xml 文件仅返回最后 20 个车牌。有人可以帮助我正确定义 xml 参数以检索更多注册表吗? 发布网址:.../...

回答 1 投票 0

PowerShell XML。 (点)符号,如何读取具有属性的元素的值?

早上好,我有一个 XML 文件,但无法读取已定义属性的节点的内部 html。 文件: ...

回答 1 投票 0

将 Xml 转换为 java 对象,忽略元符号

我尝试将xml转换为java对象。所有 xml 转换都很好,但如果一个字段具有 & 值,我会得到异常 `jakarta.xml.bind.UnmarshalException 带有链接异常: [org.xml.sax.

回答 1 投票 0

摆脱 xsi:type 并使用标签名称来代替

我有一些派生类要序列化为 XML: 公共抽象类级别 { } [XmlRoot("SubLevel1")] 公开课 SubLevel1 : 级别 { 公共字符串 prop1 { 得到;放; } p...

回答 1 投票 0

有没有办法改变验证的顺序:Struts 2中的validate()与validation.xml?

我有一个validation.xml文件来检查表单的字段是否为空以及那种简单的验证。我还有一个 validate() 方法(从 ActionSupport 扩展)来检查更复杂的

回答 2 投票 0

如何? xmlstarlet 通过 id 提取 HTML 数据

我有一个简单的任务,让我把头发拉出来,我确信我已经非常接近了。 这是我的 xhtml 文件: 我有一个简单的任务,需要我把头发拔出来,我确信我已经非常接近了。 这是我的 xhtml 文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Test Page</title> </head> <body> <p> test </p> <table id="test_table"> <tr><td>test</td><td>test</td></tr> <tr><th>mo test</th></tr> </table> </body> </html> ...并且 xmlstarlet 喜欢它: $ xmlstarlet.exe el -v test.xhtml html[@xmlns='http://www.w3.org/1999/xhtml'] html/head html/head/title html/body html/body/p html/body/table[@id='test_table'] html/body/table/tr html/body/table/tr/td html/body/table/tr/td html/body/table/tr html/body/table/tr/th 我需要做的是提取表格标签中的数据,最好没有 HTML。 其背景是我正在编写一个测试集,其中调用网页然后写入文件。 该测试要求我验证表数据,但如果页面上的其他内容发生变化,则允许测试成功。 另外,我不会提前知道表格将有多少列或行,它可能会根据数据而变化。 但是当我尝试时: $ xmlstarlet.exe sel -t -c "/html/body/table[@id='test_table']" test.xhtml Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd None of the XPaths matched; to match a node in the default namespace use '_' as the prefix (see section 5.1 in the manual). For instance, use /_:node instead of /node 不同的测试需要不同的 id,但它们都有唯一的 id 值。 所以,给定 xhthml 中的任何“id”,我需要它的数据。 提前致谢。 html数据有一个默认命名空间,您必须在xmlstarlet命令中声明: xmlstarlet sel \ -N n="http://www.w3.org/1999/xhtml" \ -t \ -c "/n:html/n:body/n:table[@id='test_table']/descendant::*/text()" \ htmlfile 2>/dev/null 找到 <table> 元素后,我使用 descendant::*/text() 提取它的所有文本元素,并使用 2>/dev/null 跳过警告: Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd 它产生: testtestmo test 更新:我不知道,但正如错误消息所示,当命名空间是默认命名空间时,无需声明命名空间,所以这也有效: xmlstarlet sel \ -t \ -c "/_:html/_:body/_:table[@id='test_table']/descendant::*/text()" \ htmlfile 2>/dev/null 正如中提到的 http://xmlstar.sourceforge.net/doc/UG/ch05.html 使用时常见问题 -N x="http://www.w3.org/1999/xhtml" \ 您还必须为节点选择添加前缀 x: 例如 xmlstarlet sel \ -N x="http://www.w3.org/1999/xhtml" \ -t \ -m "//x:pre" \ -v . somehtml.html 将选择所有前置节点 你可以试试 xmlstarlet ed --inplace -u "html/body/table[@id='your_tabl e_id']/tr[@id='row_id']/td[@id='data_id']" -v NEW_VALUE_TO_BE_CHANGED HTMLFILE_NAME 2>/dev/null

回答 3 投票 0

使用 xmlstarlet 进行 XPath 查询

我有与此类似的 XML: 11111 我有与此类似的 XML: <orders> <orderCompleteRequestType> <Head> <Aufnr>11111</Aufnr> </Head> <Register> <Id>180</Id> <value1>11</value1> <value2>22</value2> </Register> <Register> <Id>181</Id> <value1>3</value1> <value2>43</value2> </Register> <Register> <Id>160</Id> <value1>5</value1> <value2>25</value2> </Register> </orderCompleteRequestType> <orderCompleteRequestType> <Head> <Aufnr>22222</Aufnr> </Head> <Register> <Id>280</Id> <value1>1</value1> <value2>12</value2> </Register> <Register> <Id>160</Id> <value1>12</value1> <value2>7</value2> </Register> <Register> <Id>281</Id> <value1>94</value1> <value2>22</value2> </Register> </orderCompleteRequestType> </orders> 我想从每个“orderCompleteRequestType”结构中选择 CSV 格式的一些值: 头/奥夫恩 注册/ID 寄存器/值1 寄存器/值2 使用以下命令行时: xmlstarlet sel -T -t -m "/orders/orderCompleteRequestType" -v "Head/Aufnr" -o ";" -v "Register/Id" -o ";" -v "Register/value1" -o ";" -v "Register/value2" -n -n test.xml 我得到: 11111;180 181 160;11 3 5;22 43 25 22222;280 160 281;1 12 94;12 7 22 所以,首先是 Register/Id 节点的所有值,接下来是所有 Register/value1,最后是所有 Register/value2,但我期望的是这样的: 11111;180;11;22 11111;181;3;43 11111;160;5;25 22222;280;1;12 22222;160;12;7 22222;281;94;22 任何人都可以帮助我,因为我的大脑拒绝工作...... 不要匹配 orderCompleteRequestType,而是考虑匹配 Register... xmlstarlet sel -T -t -m "/orders/orderCompleteRequestType/Register" -v "concat(../Head/Aufnr,';',Id,';',value1,';',value2)" -n test.xml 输出... 11111;180;11;22 11111;181;3;43 11111;160;5;25 22222;280;1;12 22222;160;12;7 22222;281;94;22 每个orderCompleteRequestType之间没有额外的换行符,但这也许没什么大不了的?如果是,那么编写 XSLT 并使用 xmlstarlet 调用它可能会更容易。

回答 1 投票 0

xmlstarlet 根据文本值选择同级

我一直在尝试用不同的选项来解决这个问题,但找不到正确的方法。 这是 xml 文件: <

回答 1 投票 0

xmlstarlet:通过同级值选择元素

我有这个 XML 文件 默认浏览器设置 <

回答 1 投票 0

调用QBO3附件/生成,但附件/下载失败

使用 QBO3 导入框架,我们使用以下 XML 片段生成邮件合并文档: 导入表格 <

回答 1 投票 0

QBO3 在导入表单中插入新的联系方法(任务)

在导入表单模板中,如何设置映射以区分插入联系方法记录与更新现有联系方法记录?

回答 1 投票 0

将 xlsx 报告添加到打印按钮 Odoo 17

我正在尝试添加 xlsx 格式的自定义报告(对于 Excel),并且我希望可以通过采购订单上的打印按钮访问它。 我知道在其他版本中这是可能的,但是伙计......

回答 1 投票 0

有什么方法可以改变Roku海报的旋转吗?

我正在创建一个 roku 频道。我需要以幻灯片模式显示图像。问题是,有些图像是水平的,有些是垂直的。所以,我需要根据图像旋转 Poster 节点...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.