C#无法读取XML里的内容
XML代码如下:
- XML code
<?xml version="1.0" encoding="utf-8"?><xml> <0>12345678901</0></xml>
C#代码如下:
- XML code
String address = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\phone.xml";try{ XmlDocument mydom = new XmlDocument(); mydom.Load(address); XmlElement root = mydom.DocumentElement; XmlNodeList setnode = root.GetElementsByTagName("phone"); if (setnode.Count > 0) { return setnode[0].InnerText; }}catch (Exception ee){}
因为标签名是"0",所以C#无法读取到。若不改标签名,有什么办法能让C#读取到<0></0之间的内容吗?
[解决办法]
0是不能做节点名称的,本身就是错误的
mydom.Load(address);
就是错误的,你可以File.ReadAllText读取,正则分析
但是,既然你使用xml格式传输数据,就要按照xml的规则去写,要不然,麻烦多的是
[解决办法]
- C# code
string strTemp = "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml><0>12345678901</0><0>58467</0></xml>"; string strReg = @"<0>([^<]+)</0>"; Regex reg = new Regex(strReg); MatchCollection mc = reg.Matches(strTemp); foreach (Match m in mc) { string strV = m.Groups[1].Value; }
[解决办法]
牛人呀
[解决办法]
建议重写XML吧