[英]Cannot parse value from xml to code libgdx
我正在嘗試從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>
我調用show方法從xml獲取值的代碼是:
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) {
}
我還必須提供一個完整的level.xml路徑,例如:“D:\\ someFolder \\ android \\ assets \\ levels.xml”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.