XmlDocument doc=new XmlDocument();
doc.Load(@"e:\newfile\t.xsd");
XmlNodeList list=doc.DocumentElement.ChildNodes;
foreach(XmlNode node in list)
{
if(CheckNode(node)==true)
{do....}
}public static bool CheckNode(XmlNode node)
{
bool result=false;
if(node.HasChildNodes)
{
foreach( XmlNode nodeC in node.ChildNodes)
{
if(result==false)
{
if(nodeC.Name=="xs:element")
{
result=true;
}
else
{
CheckNode(nodeC);
}
}
}
}
return result;
}问题如下 :1.为什么每次 检测到 <xs:element> 标记时,返回为result=true后,还去执行foreach里的循环?循环后result又为false了 为什么?(为true时不执行checknode(nodec)递归函数。 如何跳出foreach的循环?
2.如何写一个将xsd文件转换成xml文件? 即 比如将xml通过xsd.exe转换成xsd文件后,如何再将之再转回来?程序如何实现?
解决方案 »
- C# 动态申请内存
- 关闭计算机! 拜托了!
- 调用C++Dll C++Dll如何给C#主程序发送数据
- 看书说.NET2.0提供了一个面包屑控件,没找到呢
- Global Hook的问题 未处理Win32Exception 操作成功完成
- 鼠标拖动改变listview的columnHeader的width时怎么触发事件?
- c# 三层架构中的proxy如何实现
- 如何判断两台机子是否在同一局域网?真急啊!
- 求教!如何让listview自动显示从服务器端接收来的数据?
- 招聘
- 怎么才可以在一个窗体里面掉用另一个窗体里面的一个Public stirng st;的值啊???
- 为什么以下代码在vs2003测试通过而在vs2005不能通过?????????
{
if(CheckNode(node)==true)
{do....}
else
break; //跳出循环
}