[英]XML Parsing with C# and XDocument - XmlException: 'file' is expected
我有這個錯誤:
XmlException:預期為“ chipdb”文件:/// C:/Users/Mkh/Documents/MMBN3D/Assets/Resources/ChipDatabase.xml第12行,位置8。
嘗試解析以下文件時:
<?xml version="1.0" encoding="ISO-8859-1"?>
<chipdb>
<chip>
<name> Cannon1 </name>
<dmg> 30 </dmg>
<smallicon> </smallicon>
<bigicon> </bigicon>
<type> Straight </type>
<element> None </element>
<description> One of the most basic chips. </description>
</chip>
</chipbd>
我只需要找到正確的芯片,然后使用此數據來啟動將在其他地方使用的芯片對象。 為此,我使用XDocument,但由於從未使用過XML,因此遇到了一些麻煩。 我編寫的代碼如下:
using UnityEngine;
using System.Xml.Linq;
using System.Collections;
public class XMLAttackParser : MonoBehaviour
{
XDocument doc;
// Use this for initialization
void Start ()
{
doc = new XDocument();
doc = XDocument.Load( "Assets/Resources/ChipDatabase.xml" );
}
// Update is called once per frame
void Update ()
{
}
bool searchChip ( string name )
{
var chips = doc.Descendants( "chip" );
foreach (var item in chips)
{
if( item.Element( "name" ).ToString() == name )
{
Debug.Log( "Man" );
return true;
}
}
return true;
}
}
有人可以幫我嗎? 謝謝。
您在文檔末尾將chipdb
為結尾標簽: chipbd
。
有人指出(但刪除了他的消息),您在以下item.Element( "name" ).ToString()
上也犯了一個錯誤: item.Element( "name" ).ToString()
應該是:
item.Element( "name" ).Value
要么
(string)item.Element("name")
實際上, item.Element( "name" ).ToString()
. item.Element( "name" ).ToString()
將返回: <name> cannon1 </name>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.