1.带有一个路径的参数构造方法
string path=string.Empty;//路径
XmlDocument doc = null;
public XmlHelper(string path, XmlDocument doc)
{
this.path = path;
this.doc = doc;
}
2. 创建XML的根节点方法
public class XMLHelp
{
public void Err(string path)
{
XmlDocument doc = new XmlDocument();
//头部
XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(declaration);
//创建根节点
XmlElement xmlElement = doc.CreateElement("bookstore");
doc.AppendChild(xmlElement);
doc.Save(path);
}
}
3.新增节点方法
public void Create(string xmlPath)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
var root = xmlDoc.DocumentElement;//取到根结点
XmlNode newNode = xmlDoc.CreateNode("element", "NewBook", "");
newNode.InnerText = "WPF";
//添加为根元素的第一层子结点
root.AppendChild(newNode);
xmlDoc.Save(xmlPath);
}
4.删除节点方法
public void Delete(string xmlPath)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
var root = xmlDoc.DocumentElement;//取到根结点
var element = xmlDoc.SelectSingleNode("BookStore/NewBook");
root.RemoveChild(element);
xmlDoc.Save(xmlPath);
}
5.保存XML文件方法
public void Create(string xmlPath)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlPath);
//保存XML文件方法
xmlDoc.Save(xmlPath);
}
6.创建根节点对象方法
public class XMLHelp
{
public void Err(string path)
{
XmlDocument doc = new XmlDocument();
//头部
XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(declaration);
//创建根节点
XmlElement xmlElement = doc.CreateElement("bookstore");
doc.AppendChild(xmlElement);
doc.Save(path);
}
}
7.获取指定XPath表达式节点的值方法
<Properties>
<Property Descriptor="100">1377349460.298</Property>
<Property Descriptor="101">1</Property>
<Property Descriptor="24000">fail</Property>
</Properties>
我要获取 Property节点值为fail的节点信息
XmlNode xmlnoderesult = doc.SelectSingleNode("//Property[text()='fail']");
8.获取指定XPath表达式节点的属性值方法
<root>
<elem att='the value' />
</root>
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(text);
Console.WriteLine(xdoc.SelectSingleNode("/root/elem/@att").Value);
9.指定XPath表达式的节点对象方法
public void test03() throws Exception
{
//1 得到JXDocument
Document document = Jsoup.parse(new File(Demo1.class.getResource("/index.html").getPath()), "utf-8");
JXDocument jxDocument = new JXDocument(document);
// 求1:直接全文搜索所有的li元素列表并打印
List<JXNode> list = jxDocument.selN("//li");
// 求2:直接全文搜索所有的div,再逐层级搜索下面的a元素下的img元素列表并打印
list = jxDocument.selN("//div/a/img");
// 求3:取link元素里面href属性的值,注意属性要用@符号
list = jxDocument.selN("//link/@href");
for (JXNode jxNode : list) {
System.out.println(jxNode);
}
}
第6题和第2题有点小瑕疵。
关于XPath可能我写的不太对,个人理解