这个Xpath查询怎么写
这个Xpath查询如何写?XML codemy:myFields xmlns:myhttp://schemas.microsoft.com/2010-12-28T03:12:17
这个Xpath查询如何写?
XML code<my:myFields xmlns:my="http://schemas.microsoft.com/2010-12-28T03:12:17" xml:lang="zh-cn"> <my:组1> <my:组2> <my:域1>1</my:域1> <my:域2>2</my:域2> <my:域3>3</my:域3> </my:组2> <my:组2> <my:域1>4</my:域1> <my:域2>4</my:域2> <my:域3>4</my:域3> </my:组2> </my:组1> <my:域4>66</my:域4> <my:域5>55</my:域5> <my:域6>77</my:域6></my:myFields>
在reporting service中我以这样的xml为数据源。我想查询出所有的带数据的节点就是 <my:域1><my:域2>......
请问这个查询该怎么写?
我这样写“myFields/组1”只查出<my:域4><my:域5><my:域6>
这样写“myFields/组1/组2”只查出<my:域1><my:域2><my:域3>
请问高手该如何写??
[解决办法]你这个xml文档设计的不好啊,这样设计没法通过xpath筛选出你要的结果,除非用正则表达式。
如果你要用xpath来筛选,你得这样设计<my:域 id=1><my:域 id=2>……标签一致,给属性编号。
[解决办法]把页面创建好,用firefox,安装xpather这个插件,直接打开页面,右键点击你想看的元素,选择xpath,就能看到地址了,很方便,一劳永逸
[解决办法]好难 你这个xml文档设计的不好啊,这样设计没法通过xpath筛选出你要的结果,除非用正则表达式。
如果你要用xpath来筛选,你得这样设计<my:域 id=1><my:域 id=2>……标签一致,给属性编号
[解决办法]string xpath = "\\my:域{0}";
做个循环 for(int i=1; i<11; i++) 把 域1~域10 都查一遍。
[解决办法]个人觉得xml结构做的不好,做的好的话用linq to xml很轻松
[解决办法]<my:域1><my:域2>
你的这个要求是要域2域1之间是父子关系?