xml-parsing 相关问题

XML解析器遍历包含XML树的文本文档,并允许使用层次结构中的信息。将此标记用于实现XML解析器的问题,或者通过使用给定语言的现有解析器生成的问题。

将 XML 反序列化为对象代码不起作用

我在 Symfony 中遇到反序列化和 XML 问题。我尝试了普通的 Symfony 序列化器,但它也不起作用。 据我所知,一切似乎都是正确的,但我没有看到

回答 1 投票 0

如何使用 C++ boost::serialization 处理可选 Xml 元素

我正在使用 C++ boost::序列化库来读取和写入配置 XML。为了向用户提供向后兼容性,在读取 XML 时,如果缺少某些 XML 元素,则需要具有

回答 1 投票 0

在 R 中使用 XML 和 xlm2 解析 xml 文件

我从 SEC 的 EDAGR 进行了简单的下载并解析了 XLM 文件,但有些东西不起作用。 库(xml2) 库(XML) 下载.file(“https://www.sec.gov/Archives/edgar/data/1026144/

回答 1 投票 0

APEX_WEB_SERVICE.parse_xml 不返回具有嵌套命名空间的值

我正在使用 Oracle Autonomous 21c 并调用外部 SOAP Web 服务。使用 APEX_WEB_SERVICE.parse_xml 时,如果响应具有嵌套命名空间,则不会返回值。 我已经尝试了很多

回答 2 投票 0

如何以编程方式修改 LibreOffice 用户设置?

是否有官方(或至少方便的)API 来更改 LO 的设置? 作为自动安装/更新的一部分,我想更改用户设置(以及 LO 系统设置): 例如: 快捷键,

回答 1 投票 0

如何使用 ElementTree 从 xml 中提取 python 中“xml:id”的值到数据框中

我目前正在将书目信息从 XML 结构整理为几乎任何其他可用的内容。我的最后一步是提取“xml:id”的值

回答 1 投票 0

如何从 Javascript 检索 xml 数据[重复]

可能的重复: 如何使用 Javascript 从 XML 文档中提取值 我的 demo.xml 文件包含以下数据: 可能重复: 如何使用 Javascript 从 XML 文档中提取值 我的 demo.xml 文件包含以下数据: <?xml version="1.0"?> <user> <details> <name>abc</name> <class>xyz</class> <city>pqr</city> </details> <info> <id>123</id> <code>456</code> </info> </user> 我想使用 Javascript 将文件 demo.xml 中的所有这些数据提取到我的代码中。我怎样才能得到这个?有什么解决办法吗?谢谢.... 这是一个可以为您指明正确方向的示例: var request = new XMLHttpRequest(); request.open("GET", "/path/demo.xml", true); request.send(); var xml = request.responseXML; var users = xml.getElementsByTagName("user"); for(var i = 0; i < users.length; i++) { var user = users[i]; var names = user.getElementsByTagName("name"); for(var j = 0; j < names.length; j++) { alert(names[j].childNodes[0].nodeValue); } }

回答 1 投票 0

在java中使用反射api解析xml

这是我的 XML 文件。 客户1 2 常规 <

回答 2 投票 0

simplexml_load_file 在 SEC EDGAR 上返回空对象[重复]

我正在编写一个脚本,通过 RSS feed 在 SEC Edgar 上查找一些表格。 RSS feed 链接没问题,但是当我尝试 print_r 它时,用 simplexml_load_file() 解析没有显示任何对象 有问题的...

回答 1 投票 0

从流输入中解析没有根元素的 XML 片段列表

在 Java 中使用 SAX api 解析流输入中没有根元素的 XML 片段列表是否可行? 我尝试解析这样的 XML 但得到了 org.xml.sax.SAXParseException:标记...

回答 2 投票 0

simplexml_load_file 返回空对象

我正在编写一个脚本,通过 RSS feed 在 SEC Edgar 上查找一些表格。 RSS feed 链接没问题,但是当我尝试 print_r 它时,用 simplexml_load_file() 解析没有显示任何对象 有问题的...

回答 1 投票 0

解析 RSS Feed 时出现运行时异常

RSS 提要网址 - https://feeds.simplecast.com/qm_9xx0g 我的视图模型类函数 有趣的 getXmlRequest(url: String): LiveData> { isLoading.postValue(true)...

回答 1 投票 0

使用 c# 将 JSON 转换为 XML

我有一种将 JSON 转换为 xml 的有线要求。 我们有一个返回 JSON 响应的 API,如下所示。 { "状态":"错误", “错误消息”:{ “1001”:“架构验证错误...

回答 6 投票 0

powershell解析xml转义等号

我有一个 xml 文件,我尝试使用以下 cmd 在 powershell 中解析它: [xml]$userfile = 获取内容$userfilepath 它失败是因为 xml 文件的一个字段包含等号,如下所示: 我有一个 xml 文件,我尝试使用此 cmd 在 powershell 中解析它: [xml]$userfile = Get-Content $userfilepath 失败是因为 xml 文件的一个字段包含等号,如下所示: <photo>https://url/?include_plugin=downloader&file=/photos/33.jpg</photo> 对于照片字段,我需要提取 url,而 url 恰好包含等号 (=)。 错误是: 无法将值“System.Object[]”转换为类型“System.Xml.XmlDocument”。错误:“'=' 是意外标记。预期标记是 ';'。” 我在另一个系统中生成xml文件,我尝试通过添加“”来更改: <photo>\"https://url/?include_plugin=downloader&file=/photos/33.jpg\"</photo> 我也有同样的错误。 有什么想法吗? 谢谢。 问题不是 = ,而是 &... 是 XML 中的转义序列,因此解析器看到 &file= 并显示“我无法识别任何包含 = 的转义序列”。 适当地转义&(如&amp;),它会起作用: <photo>https://url/?include_plugin=downloader&amp;file=/photos/33.jpg</photo>

回答 1 投票 0

发现无效的 XML 字符(Unicode:0xc)

使用 Java DOM 解析器解析 XML 文件会产生: [致命错误] os__flag_8c.xml:103:135:在文档的元素内容中发现无效的 XML 字符(Unicode:0xc)。 org.xml.sax.

回答 12 投票 0

如何用 Ansible 替换 XML 元素的文本?

下面的 XML 文件列出了 JAR 及其版本: 公共/foo-1.1.0.jar 下面的 XML 文件列出了 JAR 及其版本: <?xml version='1.0'?> <Files> <!-- ... --> <File Check="Y">public/foo-1.1.0.jar</File> <File Check="Y">public/bar-2.3.11.jar</File> </Files> 我需要将foo更新到版本1.2.1。我想使用 Ansible xml-module ——但我无法弄清楚语法,所以它会: 替换foo的任何现有条目(如果它引用不同版本)。 添加 foo 的新条目(如果不存在)。 可选:只为foo留下一个条目——具有指定的版本——即使之前有重复的条目(例如之前失败的升级尝试)。 我想到的唯一方法是使用两个任务:首先删除任何现有条目 (state=absent),然后创建一个新条目。 任何人都可以建议,如何一次性完成同样的事情? 尝试 powershell 脚本 using assembly System.Xml.Linq $input_filename = 'c:\temp\test.xml' $output_filename = 'c:\temp\test1.xml' $doc = [System.Xml.Linq.XDocument]::Load($input_filename) $files = $doc.Descendants('Files') $foos = [System.Linq.Enumerable]::Where($files, [Func[object,bool]]{ param($x) [string]$x.Value.StartsWith('public/foo')}) $pattern = '(public/foo-)(.*)(.jar)' $newVersion = '1.2.1' foreach($foo in $foos) { $version = $foo[0].Value $newValue = $version -replace $pattern, '$1xyz$3' $newValue = $newValue -replace 'xyz', "$newVersion" $foo.FirstNode.SetValue($newValue) } $doc.Save($output_filename)

回答 1 投票 0

lxml 获取没有标签的元素的文本

我正在使用 lxml 库和 python 来解析一个简单的 XML,该 XML 在本例中打印下一个元素的文本 HD,如下面的 XML 所示 有史以来最好的书...

回答 1 投票 0

使用 shell 脚本在 xml 文件中添加 xml 元素

我有一个xml文件,我需要在其中添加数据,我尝试使用sed。谁能帮我解决我做错的地方。 我有一个像这样的 xml 文件: 我有一个 xml 文件,我需要在其中添加数据,我尝试使用 sed。谁能帮我解决我做错的地方。 我有一个像这样的xml文件: <!DOCTYPE sf-migration PUBLIC "-//VA Software, Inc.//DTD SourceForge Migration 1.0//EN" "/opt/add-ons/import-6.1/dtd/sf-migration_1_0.dtd"> <sf-migration toVersion="6.1.0.0" fromVersion="5.0.0.0"> <users></users> </sf-migration> 现在我需要在用户中添加以下文件: <sfuser xid="user1000"> <username>beq03838</username> <email>[email protected]</email> <alternateEmail1></alternateEmail1> <dateCreated>2016-12-20 14:02:23 CET</dateCreated> <dateLastModified>2016-12-20 14:02:23 CET</dateLastModified> <detail></detail> <monitoringPreference>email</monitoringPreference> <lastLogin></lastLogin> </sfuser> 我的输出应该如下: enter <!DOCTYPE sf-migration PUBLIC "-//VA Software, Inc.//DTD SourceForge Migration 1.0//EN" "/opt/add-ons/import-6.1/dtd/sf-migration_1_0.dtd"> <sf-migration toVersion="6.1.0.0" fromVersion="5.0.0.0"> <users> <sfuser xid="user1000"> <username>beq03838</username> <email>[email protected]</email> <alternateEmail1></alternateEmail1> <dateCreated>2016-12-20 14:02:23 CET</dateCreated> <dateLastModified>2016-12-20 14:02:23 CET</dateLastModified> <lastLogin></lastLogin> </sfuser> </users> </sf-migration> 我使用下面的 shell 脚本来附加文本: CONTENT=give the suer content C=$(echo $CONTENT | sed 's/\//\\\//g') sed "/<\/users>/ s/.*/${C}\n&/" /tmptest/user1.xml 我做错了什么?还有其他简单的方法可以在 xml 中添加元素吗? 我需要在 shell 中完成此操作,因为我的完整代码在 shell 中 使用多个文件并在命令行上转义是非常容易出错和 hacky 的。在大多数语言中,您可以使用非常小的脚本来实现相同的目的。这是 Python 2 中的示例: template = open("user.xml").read() snippet = open("user_data.xml").read() result = template.replace("</users>", snippet + "</users>") open("user.xml", "w").write(result) 输出: <!DOCTYPE sf-migration PUBLIC "-//VA Software, Inc.//DTD SourceForge Migration 1.0//EN" "/opt/add-ons/import-6.1/dtd/sf-migration_1_0.dtd"> <sf-migration toVersion="6.1.0.0" fromVersion="5.0.0.0"> <users> <sfuser xid="user1000"> <username>beq03838</username> <email>[email protected]</email> <alternateEmail1></alternateEmail1> <dateCreated>2016-12-20 14:02:23 CET</dateCreated> <dateLastModified>2016-12-20 14:02:23 CET</dateLastModified> <detail></detail> <monitoringPreference>email</monitoringPreference> <lastLogin></lastLogin> </sfuser> </users> 如果您需要更频繁地执行此操作,请使用此脚本: #!/usr/bin/python import sys if len(sys.argv) != 4: print "This script prepends the given pattern in a template with a snippet. Both snippet and template are files." print "Usage:" print sys.argv[0] + " template snippet replacementpattern" sys.exit(1) template = open(sys.argv[1]).read() snippet = open(sys.argv[2]).read() pattern = sys.argv[3] if not pattern in template: print "Template doesn't contain the pattern." sys.exit(2) print template.replace(pattern, snippet + pattern) 用途: ./prepend.py template.xml snippet.xml "</users>"

回答 1 投票 0

如何确定 Apache Spark 和 scala 中的无效 XML 字符串

我有一个用户定义的函数,如下所示 案例类主体结果(文本:字符串,代码:字符串) val bodyudf = udf{ (body: 字符串) => //将 body 标签显式附加到

回答 2 投票 0

如何在XML标签之间添加一个字符串,该字符串的值是从文本文件获取的? (重击)

我有一些 XML 标签名称存储在一个文本文件中,这是一个 XML 文件,我想在其中添加相同的字符串作为这些标签的另一个值。 XML 标签文件: 姓名1 姓名2 姓名3 XML 文件: 我有一些 XML 标签名称存储在一个文本文件中,这是一个 XML 文件,我想在其中添加相同的字符串作为这些标签的另一个值。 XML 标签文件: name1 name2 name3 XML 文件: <Category name="name1">value1 value2 value3 ...</Category> <Category name="name2">value1 value2 value3 ...</Category> <Category name="name3">value1 value2 value3 ...</Category> 我尝试了几十个“sed”、“cat”命令,但非常痛苦......我期望在使用脚本/命令后,XML 文件会如下所示: <Category name="name1">VALUE4 value1 value2 value3 ...</Category> <Category name="name2">VALUE4 value1 value2 value3 ...</Category> <Category name="name3">VALUE4 value1 value2 value3 ...</Category> (VALUE4是我要添加的字符串,我想将它添加为第一个值!) 提前感谢您的帮助! 勒普松 这项工作的工具是 XSLT。 <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSLTransform" version="3.0" expand-text="yes"/> <xsl:variable name="tags" select="tokenize(unparsed-text('tags-file.txt'))"/> <xsl:mode on-no-match="shallow-copy"/> <xsl:template match="Category[@name=$tags]/text()"> <xsl:text>VALUE4 {.}</xsl:text> </xsl:template> </xsl:transform> 我在这里使用了XSLT 3.0。 1.0 处理器的使用范围更广,但这使得代码更加冗长。 不要尝试使用基于文本的工具来执行此操作。正如您所发现的,正确执行它是一件很痛苦的事情,当您成功时,只要有人提供与您测试的文件稍有不同的 XML 文件,您的代码就会失败。

回答 1 投票 0

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