xml 파일에서 libgdx 게임으로 데이터를 구문 분석하려고합니다. 내 xml 파일은 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<levels currentLevel = "1">
<Level1 speed="1" direction="1" lineAngle="14" />
<Level2 speed="1" direction="1" lineAngle="14" />
<Level3 speed="1" direction="1" lineAngle="14" />
</levels>
그리고 xml에서 값을 가져 오기 위해 show 메서드에서 호출하는 코드는 다음과 같습니다.
XmlReader xml = new XmlReader();
try {
XmlReader.Element element = xml.parse(Gdx.files.internal("levels.xml"));
XmlReader.Element root = element.getChildByName("levels");
currentLevel = root.getInt("currentLevel");
XmlReader.Element level = root.getChildByName("Level1");
lineAngle = level.getInt("lineAngle");
speed = level.getFloat("speed");
direction = level.getInt("direction");
}catch (Exception e){}
하지만 xml에서 어떤 값도 얻을 수 없습니다. 예를 들어, lineAngle은 14가 될 것으로 예상하지만 0입니다. 왜 이런지 설명해 주시겠습니까? 그리고 어떤 해결책이라도 좋을 것입니다. 감사.
파일을 요소로 구문 분석 할 때 이미 XML의 루트에 있습니다. 이것은 나를 위해 작동합니다.
XmlReader xml = new XmlReader();
try {
// Element is the root element of your document, i.e. <levels>
XmlReader.Element element = xml.parse(Gdx.files.internal("D:\\someFolder\\android\\assets\\levels.xml"));
currentLevel = element.getInt("currentLevel");
XmlReader.Element level = element.getChildByName("Level1");
lineAngle = level.getInt("lineAngle");
speed = level.getFloat("speed");
direction = level.getInt("direction");
} catch (Exception e) {
}
또한 levels.xml에 대한 전체 경로를 제공해야했습니다. 예 : "D : \ someFolder \ android \ assets \ levels.xml"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다