草庐IT

improving-the-dom

全部标签

xml - src 解析 : Cannot resolve the name 'ds:Signature' to an 'element declaration' component

我想使用XSD文件进行模式验证。当我将XSD文件导入Eclipse时,没有运行验证类,出现以下错误:src-resolve:Cannotresolvethename'ds:Signature'toan'elementdeclaration'component我对XML与XSD验证过程有点陌生。虽然我在谷歌上寻找过类似的问题,但我无法弄清楚这里出了什么问题。XSD文件如下:我应该如何修改XSD以修复此错误? 最佳答案 如果您有xmldsig-core-schema.xsd在与您的XSD相同的目录中,如果它与thisXSD相同,那么你不

java - 有没有一种方法可以通过每个节点可用的行号通过 SAX/DOM 解析 XML

我已经为大型XML文档格式编写了一个DOM解析器,其中包含许多可用于自动生成Java代码的项目。这仅限于随后合并到动态生成的Java源文件中的小表达式。到目前为止-非常好。一切正常。但是-我希望能够嵌入包含Java代码的XML节点的行号(这样如果配置包含不可编译的代码,每个方法都会有一个指向源XML文档的指针和行便于调试的编号)。我在解析时不需要行号,也不需要验证XML源文档并在特定行号处抛出错误。我需要能够访问我的DOM或每个SAX事件中每个节点和属性的行号。关于我如何能够实现这一点有什么建议吗?附言另外,我读到StAX有一种在解析时获取行号的方法,但理想情况下,我希望在Java4/

xml - Hudson XML 错误——没有名为 dom.minidom 的模块

我正在尝试发送一个简单的XML文件,其格式在http://wiki.hudson-ci.org/display/HUDSON/Monitoring+external+jobs中给出。.我能够轻松发送它并得到想要的结果!!然后我尝试使用python脚本构建这个XML文件,它给了我我想要的确切文件,没有任何问题。但是,当我尝试运行它并将其发送给Hudson时,出现了错误-“Nomodulenameddom.minidom”。我通过在PythonIDLE中执行再次检查并且它工作正常但是当我尝试再次发送它时,我遇到了同样的错误..plzhelp.. 最佳答案

java - DOM getElementsByTagName() 返回具有 NULL 值的节点

我有一个XML文件如下。当我使用getElementsByTagName("LEVEL2_ID")时,我确实得到了一个带有Nodes的NodeList,但是那些节点有NULL值(在换句话说,每个结果节点上的getNodeValue()将返回NULL)。为什么是这样?我需要获取每个节点的内容值,在本例中为2000。XML:01/17/201210002000在Java中,打印通过getElementsByTagName()获得的第一个节点的Value返回NULL:NodeListnodes=document.getElementsByTagName("LEVEL2_ID");System

xml - XML 文件中的特殊字符 - 使用 DOM API 处理

我有一个XML格式的文件(仅由根开始和结束标记以及根的子项组成)。子元素的文本元素包含与符号&。在XML中不允许使用此符号以使文档有效,并且当我尝试使用Java中的DOMAPI和XML解析器处理文件时,我遇到了解析错误。因此,我将&替换为&,并成功处理了该文件:我必须提取不同纯文本文件中文本元素的值。当我打开这些新创建的文本文件时,我希望看到&,但是却出现了&。为什么是这样?我已将文本存储在没有任何扩展名的文本文件中(我的XML格式的原始文件也没有.xml扩展名),而且无论我如何打开文件,我在新文件的文本中都有&:作为txt或xml文件(这些是我的XML编辑器中的一些选项)。到底发生了

xml - 如何解析 XSLT 中 CDATA 元素内的 XML DOM?

假设我有一个像这样的XML文件:Sci-fi2]]>SomeBookSomeauthorAnotherBookAnotherauthor我想读取xslt转换器中的CDATA元素“名称”,并将其值放在标记值中的某处。我该怎么做呢?AFAIK,我们不能对CDATA的内容使用xpath。是否有一些破解/解决方法?我想在XSLT中严格执行此操作。 最佳答案 某些XSLT产品具有扩展功能,例如saxon:parse(),它允许您获取包含词汇XML的字符串并将其转换为节点树。 关于xml-如何解析X

c# - "all nodes exactly one below the base node?"的正确 XPath 是什么

假设我不知道我的基节点或其子节点的名称,“所有节点恰好在基节点下一个?”的XPath语法是什么?模式是一个XmlNode,我有以下代码:XmlNodeListkvpsList=pattern.SelectNodes(@"//");这在我看来是正确的,但我得到以下异常:System.Xml.XPath.XPathException:Expressionmustevaluatetoanode-set.正确的语法是什么? 最佳答案 你要找的路径是/*/*//不是有意义的XPath表达式,因为它是一个运算符。如果您编写类似//element

xml - 错误 : The prefix "xsi" for attribute "xsi:schemaLocation" is not bound

我无法根据XSD验证我的XML。验证器抛出Theprefix"xsi"forattribute"xsi:schemaLocation"associatedwithanelementtype"mpreader"isnotbound.这是一个XML剪辑"3.4.16""2.3.53""234-1three5"这是XSD剪辑 最佳答案 “与元素类型“mpreader”关联的属性“xsi:schemaLocation”的前缀“xsi”未绑定(bind)。”那就绑定(bind)吧,亲爱的达兰,亲爱的达兰,亲爱的达兰……只需添加一个命名空间声明

java - 如何更改 DOM 中每个节点上的命名空间?

给定一个w3cDOM(特别是Java的默认实现),我如何更改该DOM中每个元素/属性/节点的namespace?高效,最好。DOM上似乎没有setNamespaceURI方法,这很不方便。我尝试过XSL方法,但它们在JAXP转换器中无法工作(尽管它们在Saxon9B中工作正常,但由于各种其他原因我无法使用)。基本上,我需要一个纯核心java解决方案,它允许我获取一个文档并更改其命名空间。 最佳答案 这在命名空间感知的DOM上效率不高。您将不得不使用DOMLevel3Core方法Document.renameNode(javadoc)

C# : the close method of Xml. 加载(文件)

我编写了一些代码,使用XmlDocument对象加载XML文档,以便对其节点进行计数。方法如下:XmlDocumentxml=newXmlDocument();xml.Load(textBox1.Text);XmlNodeListnodes=xml.SelectNodes("//File");foreach(XmlNodenodeinnodes){number_of_childs++;}我面临的问题是,当导入一个大文件时,它需要大约700MB的RAM。如果我随后尝试对文件执行一些操作,或者甚至从文件中读取以在ListView中显示其数据,应用程序将占用大约2GB的RAM。所以,我想知道