【发布时间】:2016-12-26 16:47:32
【问题描述】:
我正在尝试使用JAVA 从XML 文档中提取一些标签,我看到了一些与DOM 相关的答案,但我不需要标签的值,下面是我拥有的XML提取<MsgHeader>标签
<MFEP>
<MsgHeader>
<TmStp>2013-12-25T10:52:50</TmStp>
<TrsInf>
<SdrCode>145</SdrCode>
<RcvCode>7777</RcvCode>
<ReqTyp>asd</ReqTyp>
</TrsInf>
</MsgHeader>
<MsgHeader>
<TmStp>2013-12-25T10:52:50</TmStp>
<TrsInf>
<SdrCode>2123</SdrCode>
<RcvCode>323</RcvCode>
<ReqTyp>asd</ReqTyp>
</TrsInf>
</MsgHeader>
<MsgBody>
<AcctInfo>
<BillingNo>asd</BillingNo>
<BillNo>1267</BillNo>
</AcctInfo>
<ServiceType>FixedLine</ServiceType>
</MsgBody>
<MsgFooter>
<Security>
<Signature>asd</Signature>
</Security>
</MsgFooter>
<MsgHeader>
<TmStp>2013-12-25T10:52:50</TmStp>
<TrsInf>
<SdrCode>2</SdrCode>
<RcvCode>3</RcvCode>
<ReqTyp>BILPULRQ</ReqTyp>
</TrsInf>
</MsgHeader>
</MFEP>
而且输出必须是
<MsgHeader>
<TmStp>2013-12-25T10:52:50</TmStp>
<TrsInf>
<SdrCode>145</SdrCode>
<RcvCode>7777</RcvCode>
<ReqTyp>asd</ReqTyp>
</TrsInf>
</MsgHeader>
<MsgHeader>
<TmStp>2013-12-25T10:52:50</TmStp>
<TrsInf>
<SdrCode>2123</SdrCode>
<RcvCode>323</RcvCode>
<ReqTyp>asd</ReqTyp>
</TrsInf>
</MsgHeader>
<MsgHeader>
<TmStp>2013-12-25T10:52:50</TmStp>
<TrsInf>
<SdrCode>2</SdrCode>
<RcvCode>3</RcvCode>
<ReqTyp>BILPULRQ</ReqTyp>
</TrsInf>
</MsgHeader>
【问题讨论】:
-
使用 xslt 很容易
-
我以前很少使用 XSLT,但遗憾的是没有时间学习更多,如果有其他想法会更好
-
好吧,如果您向我们展示您选择元素节点的 Java 代码,那么我们可以添加一些代码来序列化它们,通常查看docs.oracle.com/javase/7/docs/api/org/w3c/dom/ls/… 以将节点序列化为 XML。或者使用默认的 Transformer。
-
另请参阅docs.oracle.com/javase/tutorial/jaxp/xslt/writingDom.html,了解如何将 DOM 节点写为 XML。
-
您忘记向我们展示您的代码。你应该解释你有什么具体问题。