Ximpleware로 XML 파일을 읽으려고합니다. 내 문제는 유용한 예제 나 튜토리얼을 찾지 못한다는 것입니다.Java에서 vtd-xml (ximpleware) xml을 읽습니다.
나는 XML 다음 읽고 싶은 :
<title name="bliblablu">
<program>
<text lang="1">
<![CDATA[English]]>
</text>
<text lang="2">
<![CDATA[Francais]]>
</text>
<text lang="3">
<![CDATA[Deutsch]]>
</text>
</program>
<program>
<text lang="1">
<![CDATA[Afrikans]]>
</text>
<text lang="2">
<![CDATA[Portuges]]>
</text>
<text lang="3">
<![CDATA[Italiano]]>
</text>
</program>
</title>
그리고 내가 원하는 것은 아래와 같은 간단한 밖으로 인쇄입니다.
1 : 영어 2 : 프랑스어 3 : 독일어 1 : Afrikans 2 : Portuges 3 : 이탈리아어
내가 어떻게 할 수 있습니까? 다음 내용을 읽습니다. SO Answer, SO Answer. 그리고 다음 코드를 시도했지만 작동하지 않습니다.
import com.ximpleware.AutoPilot;
import com.ximpleware.NavException;
import com.ximpleware.VTDGen;
import com.ximpleware.VTDNav;
import com.ximpleware.XPathEvalException;
import com.ximpleware.XPathParseException;
...
final VTDGen vg = new VTDGen();
vg.parseFile(file.getAbsolutePath(), false);
VTDNav vn = vg.getNav();
final AutoPilot ap = new AutoPilot(vn);
ap.selectXPath("/title/program/text");
Log.d(ap.evalXPathToString());
int i = 0, j = 0;
String languageNr = "", languageText ="";
while ((i = ap.evalXPath()) != -1) {
j = vn.getAttrVal("lang");
// z = vn.toNormalizedString(i);
if (j != -1) {
languageNr = vn.toString(j);
AutoPilot ap2 = new AutoPilot(vn);
ap2.resetXPath();
ap2.selectXPath("/ticker/program/text");
ap2.selectElement(Integer.toString(j));
languageText = ap2.evalXPathToString();
}
Log.d(languageNr);
Log.d(languageText);
}
내 출력은 다음과 같습니다
1 : 영어 2 : 영어 3 : 영어 1 : 영어 2 : 영어 3 : 영어 도움 루카스의 모든 종류의
감사합니다
여기에 설명 https://www.mkyong.com/java/how-입니다 to-read-xml-file-in-java-dom-parser/ –