相关疑难解决方法(0)

你推荐什么Java XML库(替换dom4j)?

我正在寻找像dom4j这样的东西,但没有dom4j的瑕疵,例如文档不好或丢失,看似停滞的开发状态.

背景:我一直在使用 提倡 dom4j,但是我觉得它并不完全正确,因为我知道这个库远非最佳(例如:看看XSLT相关样式表类中的方法是如何记录的;你会传递什么来运行( )作为String mode参数?)

要求:与使用 纯JDK(javax.xmlorg.w3c.dom包)时相比,库应该使基本的XML处理更容易.这样的事情:

  • 将XML文档(从文件或字符串)读入对象,轻松遍历和操作DOM,执行XPath查询并针对它运行XSLT.
  • 在Java代码中构建XML文档,添加元素,属性和数据,最后将文档写入文件或字符串.

我真的很喜欢dom4j所承诺的,实际上:" 易于使用的开源库,用于处理XML,XPath和XSLT [...],完全支持DOM,SAX和JAXP. "即将推出的dom4j 2.0确实声称能解决所有问题:充分利用Java 5并添加缺少的文档.但不幸的是,如果你仔细观察:

警告:dom4j 2.0处于pre-alpha阶段.它很可能无法编译.如果它可以随机编译,很可能无法运行.如果它偶尔运行,它可能会突然爆炸.如果要使用dom4j,则需要1.6.1版.真.

......并且网站已经说了长时间了.那么有没有一个很好的替代dom4j?请为您的首选库提供一些理由,而不是仅仅转储名称和链接.:-)

java xml dom4j

76
推荐指数
5
解决办法
6万
查看次数

属性“xsi:noNamespaceSchemaLocation”不允许出现在元素“VAST”中

我有 VAST XML 并针对大量 2.0.1 xsd 对其进行验证。它引发以下错误:-

属性“xsi:noNamespaceSchemaLocation”不允许出现在元素“VAST”中

我的 VAST XML:-

<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      version="2.0" 
      xsi:noNamespaceSchemaLocation="vast.xsd">
  <Ad id="11267375">
    <InLine>
      <AdSystem version="1.0">Sample vast</AdSystem>
      <AdTitle><![CDATA[AD_NFM3122HD.mov]]></AdTitle>
      <Description><![CDATA[<p>&nbsp;</p>]]></Description>
      <Creatives>
        <Creative sequence="1" AdID="" id="11267375">
          <Linear>
            <Duration>00:00:15</Duration>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
Run Code Online (Sandbox Code Playgroud)

VAST 2.0.1.xsd - https://github.com/chrisdinn/vast/blob/master/lib/vast_2.0.1.xsd

当我xsi:noNamespaceSchemaLocation="vast.xsd">从 VAST Xml 中删除时。它运作良好。

我应该xsi:noNamespaceSchemaLocation="vast.xsd">肯定需要使用这个。它有什么用?

我必须在其中使用的 XSD 文件名是什么而不是“vast.xsd”?

我在 java 1.8 上运行,这是我的堆栈跟踪

org.xml.sax.SAXParseException; cvc-complex-type.3.2.2: Attribute 'xsi:noNamespaceSchemaLocation' is not allowed to appear in element 'VAST'.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:452) …
Run Code Online (Sandbox Code Playgroud)

java xml xsd vast

5
推荐指数
1
解决办法
4937
查看次数

标签 统计

java ×2

xml ×2

dom4j ×1

vast ×1

xsd ×1