我现在有一个XML文件
<?xml version="1.0" encoding="utf-8"?>
<Template>
<Body Name="张三">
<Birthday Year="2000" Month="5" day="10" />
<Sex sex="男" />
</body>
<Body Name="李四">
<Birthday Year="2000" Month="1" day="1" />
<Sex sex="男" />
</body>
</Template>
比如我想读取张三的信息,将整个节点都读取出来,不是读他的字段或者属性,应该怎么操作?
读取出来的数据应该是:
<Body Name="张三">
<Birthday Year="2000" Month="5" day="10" />
<Sex sex="男" />
</body>
<?xml version="1.0" encoding="utf-8"?>
<Template>
<Body Name="张三">
<Birthday Year="2000" Month="5" day="10" />
<Sex sex="男" />
</body>
<Body Name="李四">
<Birthday Year="2000" Month="1" day="1" />
<Sex sex="男" />
</body>
</Template>
比如我想读取张三的信息,将整个节点都读取出来,不是读他的字段或者属性,应该怎么操作?
读取出来的数据应该是:
<Body Name="张三">
<Birthday Year="2000" Month="5" day="10" />
<Sex sex="男" />
</body>
解决方案 »
- 代码转换,将java代码转换成C#代码,高手帮忙
- 添加项目引用问题
- C# 向ACCESS中写入数值报错,各位大侠帮忙看一下到底是哪的问题?谢谢
- vc#的lable控件,似乎不能随意拖拽大小。
- 如何将select结果再分段后连在一起显示?
- 求教:winform下datagrid的focus问题
- 请教高手!怎样获取一个网络服务的登录帐号?怎样设置一个目录对该帐号的访问权限?
- 难题!!!!!!!!!!!!
- winfrom怎么使窗体变大,控件的位置也跟着原来设计的比例移动?
- 正则表达式
- 用鼠标操作DataGridView1添加一新行,并且自动将该新行的第一个单元格赋以当前时间,该如何弄。
- 有关卸载程序的问题
XmlDocument doc = new XmlDocument();
doc.Load(@"文件路径");
string content = doc.SelectSingleNode(@"Template/Body[@Name='张三']").OuterXml;通常是xpath方法,如上所示,测试成功
XmlNodeList list = doc.DocumentElement.GetElementByTagName("Body");
foreach (XmlNode node in list)
{
if(node.Attributes["Name"].Value="张三")
{
Console.WriteLine(node.InnerXml.ToString());
}
}
XmlDocument doc = new XmlDocument(@"c:\1.xml");
XmlNodeList list = doc.DocumentElement.GetElementByTagName("Body");
foreach (XmlNode node in list)
{
if(node.Attributes["Name"].Value="张三")
{
Console.WriteLine(node.OuterXml.ToString());
}
}
doc.Load(url);
XmlNodeList sectionNodeList = doc.GetElementsByTagName("body"); int m = sectionNodeList.Count;
for (int j = 0; j < m; j++)
{
string str = sectionNodeList[j].OuterXml; //也可用InnerXML
Console.WriteLine(str);
}