Ich verwende das Xml2-Paket in R, um meine XML-Datei zu analysieren. Alles funktioniert perfekt, außer diesem einen Tag, das einen Bindestrich im Tag-Namen hat.Parsen eines Tags mit Sonderzeichen mit "xml2" in R
XML-Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<abstracts-retrieval-response xmlns="http://www.elsevier.com/xml/svapi/abstract/dtd" xmlns:ait="http://www.elsevier.com/xml/ani/ait" xmlns:ce="http://www.elsevier.com/xml/ani/common" xmlns:cto="http://www.elsevier.com/xml/cto/dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:prism="http://prismstandard.org/namespaces/basic/2.0/" xmlns:xocs="http://www.elsevier.com/xml/xocs/dtd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<coredata>
<prism:url>http://api.elsevier.com/content/abstract/scopus_id/85011891272</prism:url>
<dc:identifier>SCOPUS_ID:85011891272</dc:identifier>
<eid>2-s2.0-85011891272</eid>
<prism:doi>10.1186/s13638-017-0812-8</prism:doi>
<article-number>29</article-number>
<dc:title>Performance of emerging multi-carrier waveforms for 5G asynchronous communications</dc:title>
<prism:aggregationType>Journal</prism:aggregationType>
<srctype>j</srctype>
<citedby-count>0</citedby-count>
<prism:publicationName>Eurasip Journal on Wireless Communications and Networking</prism:publicationName>
<dc:publisher> Springer International Publishing </dc:publisher>
<source-id>18202</source-id>
<prism:issn>16871499</prism:issn>
<prism:volume>2017</prism:volume>
<prism:issueIdentifier>1</prism:issueIdentifier>
<prism:coverDate>2017-12-01</prism:coverDate>
</coredata>
</abstracts-retrieval-response>
ich diese Zeile Code bin mit dem Text innerhalb des Prismas zu extrahieren: doi Knoten (wie gewünscht funktioniert):
xml2::xml_text(xml2::xml_find_first(intermediateXML,"//prism:doi"))
Der gleiche Code zu extrahieren Der Wert von "citedby-count" gibt jedoch "NA" anstelle des tatsächlichen Werts zurück.
xml2::xml_text(xml2::xml_find_first(intermediateXML,"//citedby-count"))
meine Vermutung ist, dass der Parser mit dem "-" innerhalb des Tags verwechselt wird. Ist es weg um dieses Problem zu vermeiden?
Wenn ich Ihren Beispielcode laden, funktioniert es perfekt. Ich benutze auch die neueste Version des Pakets. Der Code funktioniert jedoch nicht bei einer echten Live-Server-Antwort. Ich halte euch auf dem Laufenden. – NachtmannM