xml(带有命名空间的)读写操作
来源:互联网 发布:java运行环境下载 编辑:程序博客网 时间:2024/05/21 21:07
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains job definitions in schema version 2.0 format -->
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
<processing-directives>
<overwrite-existing-data>true</overwrite-existing-data>
</processing-directives>
<schedule>
<trigger>
<cron>
<name>EmailBDOTrigger_2</name>
<group>EmailBDOTrigger_2</group>
<job-name>EmailBDOTriggerGroup_2</job-name>
<job-group>EmailBDOJob_2</job-group>
<cron-expression>1-2 1-3 1-3 * * ? </cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
后台:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Web;
namespace CronMaker
{
class XMLHandler
{
string xmlPath = @"..\..\quartz_jobs.xml";
//string xmlPath = HttpContext.Current.Server.MapPath("~/quartz_jobs.xml");
private String txtcorn;
public XMLHandler(String txtcorn)
{
this.txtcorn = txtcorn;
}
public void changNode()
{
//XmlTextReader tReader = new XmlTextReader("\\quartz_jobs.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Normalize();
xmlDoc.Load(xmlPath);
//xml中有命名空间
XmlNamespaceManager xnm = new XmlNamespaceManager(xmlDoc.NameTable);
xnm.AddNamespace("mxh", "http://quartznet.sourceforge.net/JobSchedulingData");
string XPath = @"/mxh:job-scheduling-data/mxh:schedule/mxh:trigger/mxh:cron";
XmlNodeList nodes = xmlDoc.SelectSingleNode(XPath, xnm).ChildNodes;
foreach (XmlNode item in nodes)
{
// XmlElement element = item as XmlElement;
// Console.WriteLine(element.InnerText);
//if (element.Name == "cron-expression")
// element.InnerText = txtcorn;
if (item.Name == "cron-expression")
item.InnerText = txtcorn;
}
xmlDoc.Save(xmlPath);
}
public void addNode()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Normalize();
xmlDoc.Load(xmlPath);
XmlNamespaceManager xnm = new XmlNamespaceManager(xmlDoc.NameTable);
xnm.AddNamespace("mxh", "http://quartznet.sourceforge.net/JobSchedulingData");
string XPath = @"/mxh:job-scheduling-data/mxh:schedule";
XmlNode root = xmlDoc.SelectSingleNode(XPath, xnm);
// XmlNode root = xmlDoc.SelectSingleNode("job-scheduling-data/schedule");
XmlElement trigger = xmlDoc.CreateElement("trigger",xmlDoc.DocumentElement.NamespaceURI);
XmlElement corn = xmlDoc.CreateElement("cron", xmlDoc.DocumentElement.NamespaceURI);
//加入name节点
XmlElement sub1 = xmlDoc.CreateElement("name", xmlDoc.DocumentElement.NamespaceURI);
sub1.InnerText = "EmailBDOTrigger_2";
corn.AppendChild(sub1);
//group节点
XmlElement sub2 = xmlDoc.CreateElement("group", xmlDoc.DocumentElement.NamespaceURI);
sub2.InnerText = "EmailBDOTrigger_2";
corn.AppendChild(sub2);
//job-name节点
XmlElement sub3 = xmlDoc.CreateElement("job-name", xmlDoc.DocumentElement.NamespaceURI);
sub3.InnerText = "EmailBDOTriggerGroup_2";
corn.AppendChild(sub3);
//job-group节点
XmlElement sub4 = xmlDoc.CreateElement("job-group", xmlDoc.DocumentElement.NamespaceURI);
sub4.InnerText = "EmailBDOJob_2";
corn.AppendChild(sub4);
//cron-expression节点
XmlElement sub5 = xmlDoc.CreateElement("cron-expression", xmlDoc.DocumentElement.NamespaceURI);
sub5.InnerText = txtcorn;
corn.AppendChild(sub5);
trigger.AppendChild(corn);
//问题所在:在AppendChildren,如果ParentNode是带有xmlns属性的,在新加节点时如果不指定xmlns或指定为空时,子节点将出现xmlns=""属性
//解决:不是没有为子节点指定命名空间,而是应该为其指定与父节点相同的命名空间
root.AppendChild(trigger);
xmlDoc.Save(xmlPath);
}
}
}
- xml(带有命名空间的)读写操作
- 带有命名空间的xml 操作
- 带有命名空间的xml 操作
- c# 读取带有命名空间的XML
- dom4j创建带有命名空间的xml
- 带有命名空间的xml的xlst排序
- Xpath dom4j解析带有命名空间的XML的方法
- 读取带有Xmlns命名空间的XML文件
- 在jquery中处理带有命名空间的XML数据
- DOM4J处理XML带有命名空间的四种方法
- C#读取写入带有命名空间的XML文件
- 使用XPath查询带有命名空间(有xmlns)的XML
- C#中读取带有Xmlns命名空间的XML文件
- 当xml带有命名空间时。dom4j的处理办法
- 解析带有命名空间的xml,并实例化
- Dom4j解析带有命名空间的XML文件
- Dom4j解析带有命名空间的XML文件
- C#创建带有命名空间的XML文档
- Onvif命明空间一览表
- 【BZOJ 1941】[Sdoi2010]Hide and Seek kd-tree
- iOS设计模式-模板方法模式
- LeetCode268之Missing Number
- chrome开发者工具的小技巧
- xml(带有命名空间的)读写操作
- 解决电脑80端口被占用的三种方式
- C# 使用IE下载文件总是下载HTML代码
- Intent使用详解
- 排序的概念及分类
- IOS一些框架
- 深入分析Volatile的实现原理
- RESTful API 设计指南
- 自定义动态数量图片显示视图(UIImageView)