Questions tagged «xml-parsing»

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



6
我应该在C ++中使用哪种XML解析器?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 我有需要解析的XML文档和/或需要构建XML文档并将其写入文本(文件或内存)。由于C ++标准库没有为此提供的库,我应该使用什么? 注意:这旨在作为对此的权威性C ++-FAQ式问题。是的,它是其他人的副本。我并没有简单地提出其他问题,因为它们倾向于要求一些更具体的内容。这个问题比较笼统。
344 c++  xml-parsing  c++-faq 

2
XML解析的最佳节点模块
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 就XML解析而言,我可以使用哪个最佳的节点模块进行XML解析?

10
SAX和DOM有什么区别?
我阅读了一些有关XML解析器的文章,并发现了SAX和DOM。 SAX是基于事件的,而DOM是树模型的-我不理解这些概念之间的区别。 据我了解,基于事件的意思是某种事件发生在节点上。就像单击某个特定节点时一样,它将提供所有子节点,而不是同时加载所有节点。但是在DOM解析的情况下,它将加载所有节点并创建树模型。 我的理解正确吗? 如果我错了,请纠正我,或者以一种简单的方式向我解释基于事件的树型模型。

7
使用Python解析HTML
我正在寻找适用于Python的HTML Parser模块,该模块可以帮助我以Python列表/字典/对象的形式获取标签。 如果我有以下格式的文件: <html> <head>Heading</head> <body attr1='val1'> <div class='container'> <div id='class'>Something here</div> <div>Something else</div> </div> </body> </html> 那么它应该给我一种通过HTML标签的名称或ID访问嵌套标签的方法,这样我基本上可以要求它为我div提供class='container'包含在body标签中或类似标签的标签中的内容/文本。 如果您使用了Firefox的“检查元素”功能(查看HTML),您就会知道它以一种很好的嵌套方式(如树)为您提供了所有标签。 我更喜欢一个内置模块,但是可能要求太多。 我在Stack Overflow上遇到了很多问题,在互联网上也有一些博客,其中大多数都建议使用BeautifulSoup或lxml或HTMLParser,但是其中很少有详细介绍功能,最后只是争论哪个更快/更有效。

14
将XML字符串转换为对象
我正在通过套接字接收XML字符串,并希望将它们转换为C#对象。 消息的形式为: <msg> <id>1</id> <action>stop</action> </msg> 我是.Net的新手,不确定执行此操作的最佳实践。我以前使用过Java的JAXB,但不确定是否存在类似的东西,或者是否会以其他方式处理。

6
通过'ElementTree'在Python中使用名称空间解析XML
我有以下要使用Python解析的XML ElementTree: <rdf:RDF xml:base="http://dbpedia.org/ontology/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://dbpedia.org/ontology/"> <owl:Class rdf:about="http://dbpedia.org/ontology/BasketballLeague"> <rdfs:label xml:lang="en">basketball league</rdfs:label> <rdfs:comment xml:lang="en"> a group of sports teams that compete against each other in Basketball </rdfs:comment> </owl:Class> </rdf:RDF> 我想找到所有owl:Class标签,然后提取其中所有rdfs:label实例的值。我正在使用以下代码: tree = ET.parse("filename") root = tree.getroot() root.findall('owl:Class') 由于命名空间的原因,出现以下错误。 SyntaxError: prefix 'owl' not found in prefix map 我尝试阅读http://effbot.org/zone/element-namespaces.htm上的文档,但由于上述XML具有多个嵌套的名称空间,因此仍然无法正常工作。 请让我知道如何更改代码以查找所有owl:Class标签。

2
对实体“ foo”的引用必须以“;”结尾 定界符
我有Google Checkout沙箱生成的HTML代码,该代码在HTML页面中可以正常工作。当我在XHTML页面中放置相同的代码时,它将引发以下异常: 对实体“ w”的引用必须以“;”结尾 定界符 它w在以下src属性的URL中引用请求参数: <input type="image" name="Google Checkout" alt="Fast checkout through Google" src="http://sandbox.google.com/checkout/buttons/checkout.gif?merchant_id=211512493599623&w=180&h=46&style=white&variant=text&loc=en_US" height="46" width="180" /> 这是怎么引起的,我该如何解决?

4
XML属性值是否允许换行?
我意识到这不是很优雅或不理想,但是(在格式良好的XML中)允许XML元素中的属性值跨越多行吗? 例如 <some-xml-element value="this value goes over.... multiple lines!" /> 是的,我知道有更好的书写方式。我个人会这样写: <some-xml-element> <value>this value goes over... multiple lines!</value> </some-xml-element> 要么: <some-xml-element value="this value goes over....
" /> 但是我们有自己的XML解析器,我想知道格式良好的XML是否允许第一个示例。
91 xml  xml-parsing 

2
jQuery xml错误'请求的资源上没有'Access-Control-Allow-Origin'标头。
我正在从事我的这个个人项目,只是出于娱乐目的,我想阅读位于http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml的xml文件, 并解析xml和用它在货币之间转换价值。 到目前为止,我想出了下面的代码,该代码是基本的,可以读取xml,但是出现以下错误。 XMLHttpRequest无法加载****。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问原始站点“ http://run.jsbin.com ”。 $(document).ready( function() { $.ajax({ type: 'GET', url: 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml', dataType: 'xml', success: function(xml){ alert('aaa'); } }); } ); 我没有发现我的代码有什么问题,所以我希望有人可以指出我的代码有什么问题以及如何解决。

5
读取XML(从字符串中)并获取一些字段-读取XML时出现问题
我有这个XML(存储在名为的C#字符串中myXML) <?xml version="1.0" encoding="utf-16"?> <myDataz xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <listS> <sog> <field1>123</field1> <field2>a</field2> <field3>b</field3> </sog> <sog> <field1>456</field1> <field2>c</field2> <field3>d</field3> </sog> </listS> </myDataz> 我想浏览所有<sog>元素。我想为每个孩子打印那个孩子<field1>。 这是我的代码: XmlDocument xmlDoc = new XmlDocument(); string myXML = "<?xml version=\"1.0\" encoding=\"utf-16\"?><myDataz xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><listS><sog><field1>123</field1><field2>a</field2><field3>b</field3></sog><sog><field1>456</field1><field2>c</field2><field3>d</field3></sog></listS></myDataz>" xmlDoc.Load(myXML); XmlNodeList parentNode = xmlDoc.GetElementsByTagName("listS"); foreach (XmlNode childrenNode in parentNode) { HttpContext.Current.Response.Write(childrenNode.SelectSingleNode("//field1").Value); } 但似乎我无法将字符串读取为XML?我懂了System.ArgumentException
82 c#  .net  xml  parsing  xml-parsing 

6
什么时候应该选择SAX而不是StAX?
与构建像DOM解析器之类的树结构的解析器一样,流式XML解析器(例如SAX和StAX)更快,内存效率更高。SAX是推式解析器,这意味着它是观察者模式(也称为侦听器模式)的实例。SAX首先出现,然后是StAX-拉式解析器,这意味着它基本上像迭代器一样工作。 您可以找到在任何地方都偏爱StAX而不是SAX的原因,但是通常可以归结为:“更易于使用”。 在JAXP上的Java教程中,StAX被模糊地呈现为DOM和SAX之间的中间部分:“它比SAX更容易,并且比DOM更有效”。但是,我从来没有发现StAX比SAX慢或低内存效率的任何线索。 这一切使我感到奇怪:是否有任何理由选择SAX而不是StAX?
81 java  xml  xml-parsing  sax  stax 

2
Groovy XmlSlurper与XmlParser
我在这个主题上搜索了一段时间,并找到了一些结果,我将在发布结尾处提及。有人可以帮我准确地回答下面列出的三个问题吗? 对于XmlSluper而言,哪些用例比XmlParser更有意义,反之亦然(从API /语法的易用性的角度来看)? 哪一个内存效率更高?(看起来像Slurper) 哪一个处理xml的速度更快? 情况一 当我必须读取xml中的几乎所有节点时? 情况b。什么时候我只需要读取几个节点(例如使用gpath表达式)? 情况c。当我必须更新/转换xml时? 如果xml文档不是琐碎的(具有xml的深度和大小)。 资源: http://www.tutkiun.com/2009/10/xmlparser-and-xmlslurper.html指出: XMLParser和XMLSlurper之间的区别: XMLParser和XMLSlurper在用于简单阅读时有相似之处,但是当我们将它们用于高级阅读时以及在处理其他格式的XML文档时,两者之间存在差异。 XMLParser在分析文档后存储中间结果。但另一方面, 处理XML文档后,XMLSlurper不存储内部结果。 处理已解析的信息时,真正的根本区别变得明显。那就是在直接就地数据处理和流场景中进行处理时。 http://groovy.dzone.com/news/john-wilson-groovy-and-xml groovy文档(XmlParser,XmlSlurper)和groovy的站点(在这里和这里)对它们的解释很好,但是在解释上述问题方面做得并不出色。

8
撇号前面没有\
我在android应用程序中定义了一个字符串: <string name="search_occurs">'{string}' occurs {times}</string> 这给出了错误:撇号不以\开头(在“ {string}”中发生{times}) 我尝试了很多方法来解决此问题: <string name="search_occurs">\'{string}\' occurs {times}</string> <string name="search_occurs">'{string}' occurs {times}</string> <string name="search_occurs"><![CDATA['{string}' occurs {times}]]></string> <string name="search_occurs"><![CDATA[\'{string}\' occurs {times}]]></string> 我无法摆脱错误。我想念什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.