如何管理 QuickBooks XML 的额外 xml 声明
在处理 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>
我熟悉 声明,但我对
感到困惑
部分。我假设这是 Quickbooks 能够理解的 xml 版本。这个xml有效吗?它可以用常规的 java 解析器和转换器来管理吗?
我尝试使用常规 DocumentBuilderFactory 加载 xml 并使用 TransformerFactory 生成输出,但 在此过程中丢失。关于如何配置构建器和转换器以维护
声明有什么想法吗?
I've come across the following xml when dealing with Quickbooks xml integration:
<?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>
I'm familiar with the <?xml ...?>
declaration, but I'm confused with the <?qbxml version="5.0" ?>
part. I'm assuming this the xml version that Quickbooks understands. Is this xml valid? Can it be managed with regular java parsers and transformer?
I've tried loading the xml with the regular DocumentBuilderFactory and generating output with TransformerFactory but the <?qbxml ...?>
gets lost in the process. Any ideas on how do I need to configure the builders and transformers in order to maintain the <?qbxml ...?>
declaration?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是一条处理指令。它对 Quickbooks 来说意味着一些东西,但你可以忽略它,除非它包含你可以以某种方式使用的信息。如果您使用 XSLT 进行处理,则可以使用
创建 PI 并使用processing-instruction()
来匹配您的模板。一旦您将文档解析为 DOM,我认为没有一种简单的方法可以通过 DOM API 获取 PI,尽管您当然可以创建新的 PI。有一个针对 PI 的 ContentHandler 方法,因此您可以根据需要在解析期间对它们执行操作。<?qbxml version="5.0" ?>
is a Processing Instruction. It means something to Quickbooks, but you can ignore it unless it contains information you can use somehow. If you're using XSLT to do your processing, you can use<xsl:processing-instruction>
to create PIs andprocessing-instruction()
to match them in your templates. Once you've parsed the document into a DOM, I don't think there's an easy way to get PIs via the DOM API, though you can certainly create new ones. There is a ContentHandler method for PIs, so you can do things with them during parsing if you want.