【问题标题】:How to extract a part of xml code from an xml file using Perl Script如何使用 Perl 脚本从 xml 文件中提取部分 xml 代码
【发布时间】:2011-02-22 06:44:13
【问题描述】:
 " <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
  <eRecon xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:noNamespaceSchemaLocation="eRecon.xsd">
  <Header>
  <Company Code="" /> 
  <CommonCarrierCode /> 
  <InputFileName InputIDPk="">F:\ReconNew\TmesysRec20100111.rec</InputFileName> 
  <BatchNumber>000152</BatchNumber> 
  <InputStartDateTime>2010-02-26 11:47:00</InputStartDateTime> 
  <InputFinishDateTime>2010-02-26 11:47:05</InputFinishDateTime> 
  <RecordCount>8</RecordCount> 
  </Header>
 <Detail>
  <CarrierStatusDate>2010-01-11</CarrierStatusDate> 
  <ClaimNum>YDF02892 C</ClaimNum> 
  <InvoiceNum>0108013775</InvoiceNum> 
  <LineItemNum>001</LineItemNum> 
  <NABP>10600211</NABP> 
  <RxNumber>4695045</RxNumber> 
  <RxDate>2008-07-21</RxDate> 
  <CheckNum /> 
  <PaymentStatus>PENDING</PaymentStatus> 
  <RejectDescription /> 
  <InvoiceChargeAmount>152.15</InvoiceChargeAmount> 
  <InvoicePaidAmount>131.00</InvoicePaidAmount> 
 </Detail>
 </eRecon> "

如何提取该部分并创建一个新的 XML 文件

 <Header>
  <Company Code="" /> 
  <CommonCarrierCode /> 
  <InputFileName InputIDPk="">F:\ReconNew\TmesysRec20100111.rec</InputFileName> 
  <BatchNumber>000152</BatchNumber> 
  <InputStartDateTime>2010-02-26 11:47:00</InputStartDateTime> 
  <InputFinishDateTime>2010-02-26 11:47:05</InputFinishDateTime> 
  <RecordCount>8</RecordCount> 
 </Header>

来自上述 xml 文件。

我需要 Perl 脚本从 xml 文件中提取部分 xml 标签。

提前致谢

【问题讨论】:

标签: xml perl


【解决方案1】:

如果你对 awk 没问题:

awk '/Header/{pp=1} /Detail/ {pp=0} pp' filename

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 2011-09-07
    相关资源
    最近更新 更多