JSOUP ішінде құтылу режимін қалай өшіруге болады?

Мен JSOUP (XML файлдары үшін java құралын) пайдаланамын және XML-ге сақталған URL-мекен-жайын оқу үшін келесі кодты пайдаланамын файл. міне менің кодтарым:

Document d = Jsoup.parse(new File("feed.xml"), null);
Element elementCat = d.getElementsByTag("cat").get(0);
String stringUrl = elementCat.ownText();
System.out.println(stringUrl);

XML кіріс файлы келесідей:

<?xml version="1.0" encoding="utf-8" standalone="no"?>

http://www.isna.ir/ISNA/FullNews.aspx?SrvID=Event&Lang=P

my problem is that the output of program is this: http://www.isna.ir/ISNA/FullNews.aspx?SrvID=Event⟪=P instead of this: http://www.isna.ir/ISNA/FullNews.aspx?SrvID=Event&Lang=P

In other words, it converts "&Lang" to "⟪" automatically. Please pay attention that it is not "&Lang;", it's just "&Lang" without semicolon. I want to disable encoding or escaping and I want the raw data.

Бұл мәселені қалай шешуге болады?

1
Менің ойымша, сіз дұрыс. Бірақ JSOUP XML-мен жұмыс істеудің қуатты функциялары бар және оларды пайдалануды болдырмауды қаламаймын.
қосылды автор Soheil, көзі
HTML емес HTML үшін jsoup емес пе?
қосылды автор G_H, көзі

1 жауаптар

You've got a piece of XML. In XML, there's a manner of escaping markup, since sometimes you just need a piece of text containing < or an attribute with " in its value. Escaping is done using a character entity reference, which starts with an ampersand, followed by a code, followed by a semi-colon. Like so: <. That can represent <.

Әрине, бұл бізді ампсстер мәселесіне және өзімізге қалдырады. Егер бұл шын мәнісінде амперсанд болса, әртүрлі әртүрлі сипатқа ие объектілерден гөрі сізге керек: & amp; .

What you've got there is xml that isn't well-formed. The & indicates you're starting a character entity reference, but then it gets Lang. Now, maybe jsoup doesn't make much of a problem of this. But that's because it's for HTML parsing and not XML. Since HTML is a bit more lenient than XML, I suppose jsoup simply subtitutes what it takes to be an unknown character reference with something else. Likely a nul character.

XML XML-нің жақсы қалыптасқанына көз жеткізіңіз. Егер бұл мүмкін емес болса, оны XML, бірақ HTML ретінде қарастырмаңыз. Егер xml өңдеуі кейінірек болса, SAX, StAX, DOM немесе JAXB бөлімін қараңыз.

3
қосылды
Хуорай, мен оны шешті. Сіздікі жөн. Менің xml файлым жақсы қалыптаспаған. Мен өзгертті isna.ir/ISNA/FullNews.aspx?SrvID=Event&Lang= P isna.ir/ISNA/FullNews. aspx? SrvID = Оқиға & Lang = P және ол жұмыс істейді.
қосылды автор Soheil, көзі
Жақсы қалыптасқан XML-ні енгізу ретінде алуға болатынына сенімді болсаңыз, сіз jsoup-ні пайдалану арқылы ақылға қонымды түрде сенесіз.
қосылды автор G_H, көзі