1

R の XML パッケージ ユーザーの皆様、こんにちは。

XML の解析中に奇妙なバグに遭遇しました。これは、XML ファイルの解析中に mdash や ndash などの HTML エンティティに遭遇することに関係しています。

これは私が使用するコードです:

InText = readLines(xmlFileName,n=-1)
Text = xmlValue(xmlRoot(xmlTreeParse(InText,trim=FALSE)))

私は現在、以下を使用して mdash や ndash などのこれらのエンティティを排除しています

InText = gsub("\\&mdash"," ",InText);
InText = gsub("\\&ndash"," ",InText);

しかし、可能な HTML.4.0 エンティティ リストのリストが表示されるので、これは非常に面倒です。

XMLファイルの解析中にこれらを排除する方法についてのアイデア

あなたの助けとアイデアをありがとう シヴァニ

4

2 に答える 2

1

名前付きのすべての HTML エンティティを単純に削除したい場合は、次の正規表現を使用します。

library("XML")

InText <- "<html>\
<head>\
    <title>Test &amp; Test again</title>\
</head>\
    <body>Hello &nbsp; world</body>\
</html>"

InText <- gsub("\\&[^;]+;","",InText)

Text <-  xmlValue(xmlRoot(xmlTreeParse(InText,trim=FALSE)))
于 2012-05-28T06:09:21.560 に答える
1

XML パッケージで readHTML を試してください。これらのケースのかなりの数を処理できる堅牢なメソッドがあります。XML パッケージを使用して html テーブルを R データ フレームにスクレイピングするも参照してください。

于 2012-05-28T07:44:38.037 に答える