xml/html ドキュメントの特定の属性を解析しようとすると、奇妙なエンコーディングの問題が発生します。2 つのタイトルを持つ 2 つのアイテムを含む再現可能な例を次に示します (ここではフランス語のアクセントの使用に注意してください)。
library(XML)
doc <- htmlParse('<note>
<item title="é">1</item>
<item title="ï">3</item>
</note>',asText=TRUE,encoding='UTF-8')
を使用してxpathApply
、このようにアイテムを読み取ることができます。ここでは、特殊なアクセントが適切にフォーマットされていることに注意してください。
xpathApply(doc,'//item')
[[1]]
<item title="é">1</item>
[[2]]
<item title="ï">3</item>
しかし、属性 title を読み取ろうとすると、次のようになります。
xpathApply(doc,'//item',xmlGetAttr,'title')
[[1]]
[1] "é"
[[2]]
[1] "ï"
次のような他のxpathバージョンを試しました:
xpathApply(doc,'//item/@title')
xmlAttrs(xpathApply(doc,'//item')[[1]])
しかし、これはうまくいきません。何か助けてください。