Не умеет читать скандинавские символы - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь разобрать xml, но поскольку xml имеет скандинавские символы, такие как å, æ. но получить эти символы как jibberi sh.

Я пробовал разные вещи: -

Try1)

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(new ByteArrayInputStream(body.getBytes("ISO-8859-1")));

Try2)

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource src = new InputSource();
src.setEncoding("ISO-8859-1");
src.setCharacterStream(new StringReader(body));
        Document doc = builder.parse(src);

Попробуйте 3)

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource src = new InputSource();
src.setEncoding("UTF-8");
src.setCharacterStream(new StringReader(body));
        Document doc = builder.parse(src);
NodeList n1 = doc.getElementsByTagName("Ver");
        if (n1.getLength() > 0) {
            Ver = n1.item(0).getTextContent();
            if(Ver == "") {
                Ver = default1;
            }
            else {
                Ver = "\""+Ver+"\"";
            }
        }

XML Пример: -

<?xml Version="1.0" encoding="UTF-8" standalone="no"?>
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Envelope>
    <Ver>Utåø</Ver>
    <ID>SAO</ID>
    <Rec>men</Rec>
    <TransactionID>0987714805168</TransactionID>
  </Envelope>
  <Code>124</Code>
  <City></City>
  <CompCodes>
    <CompCode>US</CompCode>
    <Vend>13</Vend>
  </CompCodes>
  <BankData>
    <Code>123</Code>
    <BankAcctNum>231</BankAcctNum>
  </BankData>
  <BankData>
    <Code>124</Code>
    <BankAcctNum>431</BankAcctNum>
  </BankData>
</Data>

Пожалуйста, дайте мне знать, как с этим справиться.

1 Ответ

3 голосов
/ 21 июня 2020

Ваш файл xml закодирован в utf-8: <?xml Version="1.0" encoding="UTF-8" standalone="no"?>

Если вы попытаетесь использовать кодировку utf-8, которая должна работать вместо ISO-8859-1 для синтаксического анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...