【发布时间】:2017-05-26 07:08:36
【问题描述】:
link for the xml text. please remove "http:" from the link text
下面是xml文本内容。
<?xml version="1.0" standalone="yes"?>
<hydstra_xml_store date_format="BRITISH" version="1" application="WEBBATLS" timestamp="20170111144727">
<webbatls>
<site station="G0010001" parent="" stname="Sandover River - #7 Bore" shortname="Sandover R #7 Bore" mapname="" zone="53" easting="476064.2" northing="7552556.9" grdatum="MGA94" latitude="-22.131884543" longitude="134.767896023" lldatum="GDA94" posacc="" elev="12.658" elevdatum="" elevacc="01" local_map="" timezone="9.5" qquarter="" quarter="" section="" township="" range="" meridian="" active="False" owner="" commence="16/10/1968" cease="15/05/1974" stntype="SWG" region="5" orgcode="NTP" barcode="" category1="" category2="" category3="" category4="" category5="" category6="" category7="" category8="" category9="" category10="" category11="" category12="" category13="" category14="" category15="" category16="" category17="" category18="" category19="" category20="" spare1="" spare2="" enteredby="" checkedby="HYD" comment="" dbver41="" datecreate="30/12/1899" timecreate="0" usercreate="" datemod="09/12/2016" timemod="1111" usermod="BAILJ">
<_decode_ station="Sandover R #7 Bore" parent="(None)" grdatum="Map Grid of Australia 1994" latitude="22°07'54.8"S" longitude="134°46'04.4"E" lldatum="Geodetic Datum of Australia 1994" posacc="Prec unknown" elevdatum="(unknown)" elevacc="Not Applicable" timezone="Offset of standard local time from GMT" meridian="Unspecified" owner="(None)" stntype="SW Gauging Station" region="NT Wide" orgcode="NT Water Resources" category1="(Not set)" category2="(Not set)" category3="(Not set)" category4="(unknown)" category5="Unknown" category6="Unknown" category7="Unknown" category8="Unknown" category9="Unknown" category10="Unknown" category11="(unknown)" category12="(unknown)" category13="(unknown)" category14="(unknown)" category15="(unknown)" category16="(unknown)" category17="(unknown)" category18="(unknown)" category19="(unknown)" category20="(unknown)" enteredby="(unknown)" checkedby="HYDMG <Data imported by H"/>
</site>
<station station="G0010001" gauge="0" datum="GD" control="sandy river bed" contcode="" ctf="1.368" downst="False" gaugfacil="" hut="False" telemetry="False" streamdist="0" phone="" spillway="0" qmin="0" tmin="0" maxgaug="0" maxgdate="30/12/1899" catcharea="5050" enteredby="DRK" checkedby="HYD" bedslope="0" order="0" spare1="" spare2="" spare3="" spare4="" spare5="" dbver22="" datecreate="30/12/1899" timecreate="0" usercreate="" datemod="03/01/2017" timemod="212" usermod="SVCACC">
<_decode_ station="Sandover R #7 Bore" datum="Gauge Datum" contcode="Unknown" streamdist="km" tmin="Mins" catcharea="sq. km" enteredby="Doug Kinter" checkedby="HYDMG <Data imported by H" spare1="(unknown)" spare2="(unknown)" spare3="(unknown)" spare4="(unknown)" spare5="(unknown)"/>
</station>
<stninis/>
<periods/>
<gwholes/>
<aquifers/>
<variables/>
<contents_lists>
<content_list secttype="Reports" secttypestr="Reports" section="WEBREPORTSDWHSW"/>
<content_list secttype="Documents" secttypestr="Documents" section="WEBDOCUMENTSDWHSW"/>
</contents_lists>
</webbatls>
</hydstra_xml_store>
从这个 xml 文本中,我想在“_”(蓝色字体的单词)中提取 >site 和 >/site
这是我用过的代码
url="http://water.nt.gov.au/wgen/cache/anon/G0010001.xml?1484112860902?1484112861283"
data=XML::xmlParse(readLines(url))
xpathSApply(data, "//webbatls/site[@station,@....]")
我能够成功解析 xml 文本。我在提取属性值时遇到困难。我的处境真的很糟糕,请帮帮我。
这是我调用 XpathSApply 函数后得到的输出
[[1]]
<site station="G0010001" parent="" stname="Sandover River - #7 Bore" shortname="Sandover R #7 Bore" mapname="" zone="53" easting="476064.2" northing="7552556.9" grdatum="MGA94" latitude="-22.131884543" longitude="134.767896023" lldatum="GDA94" posacc="" elev="12.658" elevdatum="" elevacc="01" local_map="" timezone="9.5" qquarter="" quarter="" section="" township="" range="" meridian="" active="False" owner="" commence="16/10/1968" cease="15/05/1974" stntype="SWG" region="5" orgcode="NTP" barcode="" category1="" category2="" category3="" category4="" category5="" category6="" category7="" category8="" category9="" category10="" category11="" category12="" category13="" category14="" category15="" category16="" category17="" category18="" category19="" category20="" spare1="" spare2="" enteredby="" checkedby="HYD" comment="" dbver41="" datecreate="30/12/1899" timecreate="0" usercreate="" datemod="09/12/2016" timemod="1111" usermod="BAILJ">
<_decode_ station="Sandover R #7 Bore" parent="(None)" grdatum="Map Grid of Australia 1994" latitude="22°07'54.8"S" longitude="134°46'04.4"E" lldatum="Geodetic Datum of Australia 1994" posacc="Prec unknown" elevdatum="(unknown)" elevacc="Not Applicable" timezone="Offset of standard local time from GMT" meridian="Unspecified" owner="(None)" stntype="SW Gauging Station" region="NT Wide" orgcode="NT Water Resources" category1="(Not set)" category2="(Not set)" category3="(Not set)" category4="(unknown)" category5="Unknown" category6="Unknown" category7="Unknown" category8="Unknown" category9="Unknown" category10="Unknown" category11="(unknown)" category12="(unknown)" category13="(unknown)" category14="(unknown)" category15="(unknown)" category16="(unknown)" category17="(unknown)" category18="(unknown)" category19="(unknown)" category20="(unknown)" enteredby="(unknown)" checkedby="HYDMG <Data imported by H"/>
</site>
【问题讨论】:
-
请重新格式化您的代码
-
我无法将 xml 文本正确粘贴到 sn-p 中。请帮帮我
-
使用 4 个空格将 xml 字符串格式化为代码块。您还应该更好地描述您想要什么以及您尝试过的任何代码。
-
感谢您的建议 blongworth。
标签: r xml web-scraping html-parsing