110,538
社区成员
发帖
与我相关
我的任务
分享
<A>
<B/>
<B/>
<B/>
<B/>
<C/>
</A>
/// <summary>
/// 定位到指定名称节点的第index个位置
/// </summary>
/// <param name="xmlContent">要定位的xml内容</param>
/// <param name="nodeName">要定位的节点名称</param>
/// <param name="index">节点出现的位置</param>
/// <returns></returns>
public XmlNode GetNodePosByIndex(string xmlContent, string nodeName, int index = 0)//
{
try
{
XmlDocument oldXd = new XmlDocument();
oldXd.LoadXml(xmlContent);
XmlNodeList nodeList = oldXd.GetElementsByTagName(nodeName);
if (nodeList.Count > index)
return nodeList[index];
else
return null;
}
catch
{
return null;
}
}
/// <summary>
/// 获取xml中指定节点的值
/// </summary>
/// <param name="xmlContent">xml内容</param>
/// <param name="nodeName">节点名称</param>
/// <param name="index">节点出现的位置</param>
/// <returns></returns>
public string GetNodeValue(string xmlContent, string nodeName, int index = 0)
{
try
{
XmlNode tempNode = GetNodePosByIndex(xmlContent, nodeName, index);
if (tempNode != null)
{
return tempNode.InnerText;
}
else
return "";
}
catch
{
return "";
}
}
<?xml version="1.0" encoding="gbk"?>
<root>
<User ID="20170404100510">
<Name>喵小咪</Name>
<Sex>女</Sex>
<Age>17</Age>
<Phone>1234567890</Phone>
<Friend>汪大狗</Friend>
</User>
<User ID="20170404100511">
<Name>喵小喵</Name>
<Sex>女</Sex>
<Age>17</Age>
<Phone>1234567890</Phone>
<Friend>汪大狗</Friend>
</User>
</root>
保存在 3.txt 中,有 XDocument doc = XDocument.Load("3.txt");
var elements = from e in doc.Elements("root").Elements("User")
select new
{
Id = e.Attribute("ID").Value,
Name = e.Element("Name").Value,
Sex = e.Element("Sex").Value,
Age = e.Element("Age").Value,
Phone = e.Element("Phone").Value,
Friend = e.Element("Friend").Value,
};
foreach (var e in elements)
{
Console.WriteLine(e);
}