XML查询
来源:互联网 发布:怎样加入网络直销 编辑:程序博客网 时间:2024/06/05 03:47
XPath是XML的查询语言,其内容相当复杂。可以查阅www.w3.org/TR/xpath。
下面以一个实例简单了解一线XPath的查询方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
public
partial
class
Form1 : Form
{
private
XmlDocument document;
public
Form1()
{
InitializeComponent();
document =
new
XmlDocument();
FileStream fs =
new
FileStream(
"xmlFileSelect.xml"
, FileMode.Open, FileAccess.Read);
document.Load(fs);
this
.Update(document.DocumentElement.SelectNodes(
"."
));
}
private
void
Update(XmlNodeList nodes)
{
if
(nodes ==
null
|| nodes.Count == 0)
{
textBox1.Text =
"no result"
;
return
;
}
string
text =
string
.Empty;
foreach
(XmlNode node
in
nodes)
{
textBox1.Text= Format(node, text,
""
);
}
}
private
string
Format(XmlNode node,
string
text,
string
indent)
{
if
(node
is
XmlText)
{
text += node.Value;
return
text;
}
if
(
string
.IsNullOrEmpty(indent))
{
indent =
""
;
}
else
{
text +=
"\r\n"
+ indent;
}
if
(node
is
XmlComment)
{
text += node.OuterXml;
return
text;
}
text +=
"<"
+ node.Name;
if
(node.Attributes.Count > 0)
{
AddAttribute(node,
ref
text);
}
if
(node.HasChildNodes)
{
text +=
">"
;
foreach
(XmlNode child
in
node.ChildNodes)
{
Format(child, text, indent +
" "
);
}
if
(node.ChildNodes.Count == 1 && (node.FirstChild
is
XmlText || node.FirstChild
is
XmlComment))
{
text +=
"\r\n"
+ indent +
"</"
+ node.Name +
">"
;
}
}
else
{
text +=
"/>"
;
}
return
text;
}
private
void
AddAttribute(XmlNode node,
ref
string
text)
{
foreach
(XmlAttribute attribute
in
node.Attributes)
{
text +=
" "
+ attribute.Name +
"='"
+ attribute.Value +
"'"
;
}
}
private
void
button1_Click(
object
sender, EventArgs e)
{
try
{
XmlNodeList nodes = document.DocumentElement.SelectNodes(textBox1.Text);
Update(nodes);
}
catch
(Exception error)
{
textBox1.Text = error.ToString();
}
}
}
主要实现根据输入内容检索xmlnode
0 0
- xml查询
- xml查询
- xml查询
- XML查询
- xml查询
- xml 查询
- xml查询
- XML 数据的查询
- 查询xml节点
- sql 查询XML示例
- XML查询之value()
- xquery--xml查询
- XML 动态查询
- SQLServer XML查询
- SQLServer XML查询
- j2me与xml查询
- 数据库 查询XML XQuery
- SQL XML 查询整理
- ASP.NET自定义处理程序
- 小白学前端Day1
- Android中error inflating class fragment问题
- Android 实现简单的刮刮乐
- [学习]Linux Signal
- XML查询
- (转)Android Studio -修改LogCat的颜色*美爆了*
- @interface 注解详解
- NYOJ_1253_Turing equation[【水题】
- C#委托冒泡
- 转载博客文章技巧
- 应用程序写Xml文档
- 慕课网c语言学习记录(递归,局部与全局,变量存储类别,内外部函数)
- Ubuntu环境下安装jdk1.8