この優れた例を使用して、いくつかの XML コードを R データ フレームに変換しようとしています。残念ながら、自己終了タグがこの変換を妨げているようで、XML (および R XML パッケージ) についての私の理解はせいぜい初心者です。
w3schools のこのページによると、自己終了タグは XML で合法であるように見えるため、解析しようとしているコードはそれほど奇抜ではありません。
以下の R コードは、私が経験している問題を引き起こします。タグを削除する<AlternateText/>
と、コードは期待どおりに機能します。
また、奇妙なことに、に変更すると<AlternateText xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
、それも機能します。その動作は期待されていますか?
オブジェクトからすべての自己終了タグを単純に削除するかx
、エラーが発生しないようにタグを付け直して、効果的<AlternateText/>
に<AlternateText></AlternateText>
.
x <-
'<outer>
<ProviderURL>
<URLCode>Valid</URLCode>
<URLAddress>http://mypage.com</URLAddress>
<AlternateText/>
</ProviderURL>
</outer>'
library( plyr )
library( XML )
y <-
xmlTreeParse(
x ,
asText = TRUE ,
useInternalNodes = TRUE
)
ldply( xmlToList( y ) , data.frame )
このコードブロックは私に与えます:
Error in data.frame(URLCode = "Valid", URLAddress = "http://mypage.com", :
arguments imply differing number of rows: 1, 0