1

ドイツ語のウムラウト (ä、ü、ö) やその他の特殊文字を含む XML ファイルを読み取るのに苦労しています。奇妙なことに、R は 'readLines()' を使用するだけでファイルを正しく読み取ることができます。ただし、関数「get.all.text()」の xmlEventParse 部分がハンドラー関数「sE2()」、「eE2()」、および「tS2」の助けを借りて「collected.text」の構築を完了するとすぐに、すべての特殊文字が壊れています。これらの各文字の前には、区切りも挿入されているようです。

XML ファイルには、「?xml version="1.0" encoding="iso-8859-1"?」と記載されています。最初の行で。しかし、「readLines()」関数がテキストを適切に読み取るため、問題にはならないと思いました。

続行する方法についての指針はありますか?

ありがとう!

get.all.text <- function (file) {
  read.file <- paste(readLines(file), collapse = " ")
  assign("collected.text", c(), env = .GlobalEnv)
  assign("get.text", F, env = .GlobalEnv)
  xmlEventParse(read.file, asText = T, list(startElement = sE2,
                                            endElement = eE2,
                                            text = tS2),
                error = function (...) { },
                saxVersion = 1)
  head(collected.text)
}

sE2 <- function (name, attrs) {
  if (name == "s") {
    get.text <<- T }
}

eE2 <- function (name, attrs) {
  if (name == "s") {
    get.text <<- F
  }
}

tS2 <- function (content, ...) {
  if (get.text & nchar(content) > 0) {
    collected.text <<- c(collected.text, content)
  }
}
4

0 に答える 0