【问题标题】:How to read XML files with initial tags in R如何在 R 中读取带有初始标签的 XML 文件
【发布时间】:2019-05-10 12:24:13
【问题描述】:

我有几个缺少初始标记的 XML 文件。例如,这是正确格式的文件:-

<?xml version="1.0"?>
<UDI>
<Test_Equipment_Number>3300061-01</Test_Equipment_Number>
<Test_SW_Number>3300062</Test_SW_Number>
<Test_SW_Version>2.1</Test_SW_Version>
<GTIN>(01)00884838088597</GTIN>
<LOT></LOT>
<Date_of_Mfg>(11)20190322</Date_of_Mfg>
<Device_SN>(21)1160001242</Device_SN>
<Material_Number>(96)300001287651</Material_Number>
<PCBA_WO_and_SN>00190311-0001242</PCBA_WO_and_SN>
<FW_Version>06</FW_Version>
<Model>324PHB</Model>
</UDI>

这是缺少初始标签的文件:-

<Test_Equipment_Number>3300011-01</Test_Equipment_Number>
<Test_SW_Number>3300012</Test_SW_Number>
<Test_SW_Version>5.1</Test_SW_Version>
<GTIN>(01)00884838085497</GTIN>
<LOT></LOT>
<Date_of_Mfg>(11)20190411</Date_of_Mfg>
<Device_SN>(21)1120104548</Device_SN>
<Material_Number>(96)300000267981</Material_Number>
<PCBA_WO_and_SN>000143-00000793</PCBA_WO_and_SN>
<FW_Version>V01.0001</FW_Version>
<Model>7000PHW</Model>

如何读取 R 编程语言中缺少初始标记的文件?

【问题讨论】:

    标签: r xml readxml parsexml


    【解决方案1】:

    一种选择是通过指定要添加的顶部节点来解析 xml 片段:

    # install.packages('XML')
    library(XML)
    
    fragment <- 
    '<Test_Equipment_Number>3300011-01</Test_Equipment_Number>
    <Test_SW_Number>3300012</Test_SW_Number>
    <Test_SW_Version>5.1</Test_SW_Version>
    <GTIN>(01)00884838085497</GTIN>
    <LOT></LOT>
    <Date_of_Mfg>(11)20190411</Date_of_Mfg>
    <Device_SN>(21)1120104548</Device_SN>
    <Material_Number>(96)300000267981</Material_Number>
    <PCBA_WO_and_SN>000143-00000793</PCBA_WO_and_SN>
    <FW_Version>V01.0001</FW_Version>
    <Model>7000PHW</Model>'
    
    XML::parseXMLAndAdd(fragment, top = 'content')
    #> <content>
    #>   <Test_Equipment_Number>3300011-01</Test_Equipment_Number>
    #>   <Test_SW_Number>3300012</Test_SW_Number>
    #>   <Test_SW_Version>5.1</Test_SW_Version>
    #>   <GTIN>(01)00884838085497</GTIN>
    #>   <LOT/>
    #>   <Date_of_Mfg>(11)20190411</Date_of_Mfg>
    #>   <Device_SN>(21)1120104548</Device_SN>
    #>   <Material_Number>(96)300000267981</Material_Number>
    #>   <PCBA_WO_and_SN>000143-00000793</PCBA_WO_and_SN>
    #>   <FW_Version>V01.0001</FW_Version>
    #>   <Model>7000PHW</Model>
    #> </content>
    

    【讨论】:

    • 成功了。谢谢。当然首先我必须使用 read.delim() 函数将不正确的 XML 文件作为字符导入。或者如果有更好的方法,请告诉我。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2011-01-13
    • 2021-12-14
    • 1970-01-01
    相关资源
    最近更新 更多