【问题标题】:How to manage the extra xml declaration for QuickBooks XML如何管理 QuickBooks XML 的额外 xml 声明
【发布时间】:2012-01-24 21:37:33
【问题描述】:

我在处理 Quickbooks xml 集成时遇到了以下 xml:

<?xml version="1.0" ?>
<?qbxml version="5.0" ?>
<QBXML>
  <QBXMLMsgsRq onError="stopOnError">
    <CustomerQueryRq requestID="5001" iterator="Start"> 
      <MaxReturned>10</MaxReturned> 
      <IncludeRetElement>ListID</IncludeRetElement>
    </CustomerQueryRq>
  </QBXMLMsgsRq>
</QBXML>

我熟悉 &lt;?xml ...?&gt; 声明,但我对 &lt;?qbxml version="5.0" ?&gt; 部分感到困惑。我假设这是 Quickbooks 理解的 xml 版本。这个xml有效吗?可以用常规的 java 解析器和转换器来管理吗?

我尝试使用常规 DocumentBuilderFactory 加载 xml 并使用 TransformerFactory 生成输出,但&lt;?qbxml ...?&gt; 在此过程中丢失了。关于如何配置构建器和转换器以维护&lt;?qbxml ...?&gt; 声明的任何想法?

【问题讨论】:

    标签: java xml xml-parsing quickbooks qbxml


    【解决方案1】:

    &lt;?qbxml version="5.0" ?&gt; 是一个处理指令。它对 Quickbooks 有意义,但你可以忽略它,除非它包含你可以以某种方式使用的信息。如果您使用 XSLT 进行处理,您可以使用 &lt;xsl:processing-instruction&gt; 创建 PI 并使用 processing-instruction() 在模板中匹配它们。将文档解析为 DOM 后,我认为通过 DOM API 获取 PI 并不容易,尽管您当然可以创建新的。 PI 有一个 ContentHandler 方法,因此您可以根据需要在解析期间对它们进行处理。

    【讨论】:

    • 在搜索 google 时,拥有正确的名称(处理说明)会使世界变得与众不同...... ;-)
    猜你喜欢
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多