XML节点ElementName的动态修改
2010-10-25 19:39
211 查看
一、根节点的ElementName的修改
通过为XML序列化添加XmlRootAttribute
XmlRootAttribute root = new XmlRootAttribute();
root.ElementName = "修改名称";
XmlSerializer mySerializer = new XmlSerializer(typeof(Data), root);
二、一般节点的ElementName的修改
XmlElementAttribute myElementAttribute = new XmlElementAttribute();
myElementAttribute.ElementName= "修改名称";
XmlAttributes myAttributes = new XmlAttributes();
myAttributes.XmlElements.Add(myElementAttribute);
XmlAttributeOverrides myOverrides = new XmlAttributeOverrides();
myOverrides.Add(typeof(Data), "lsarea", myAttributes);
XmlSerializer mySerializer = new XmlSerializer(typeof(Data), myOverrides);
例子:
Data fdadf = new Data();
area test = new area();
test.areaid = "100";
item it = new item();
it.remark = "说明1";
it.PK.intervaltype = "1";
it.PK.key = "fd";
item it2 = new item();
it2.remark = "说明2";
test.lsItem.Add(it);
test.lsItem.Add(it2);
fdadf.lsarea.Add(test);
XmlSerializerNamespaces xsns = new XmlSerializerNamespaces();
xsns.Add(string.Empty, string.Empty);
StreamWriter writer = new StreamWriter("books.xml");
mySerializer.Serialize(writer, fdadf);
例实体:
[XmlType("DataGrid")]
public class Data
{
public Data()
{
lsarea = new List<area>();
}
[XmlElement("area")]
public List<area> lsarea;
}
[XmlType("area")]
public class area
{
public area()
{
areaid = string.Empty;
lsItem = new List<item>();
}
[XmlElement(Order = 1, ElementName = "areaid")]
public string areaid
{
get;
set;
}
[XmlElement(Order = 2, ElementName = "Item")]
public List<item> lsItem;
}
[XmlType("item")]
public class item
{
public item()
{
PK = new nid();
}
[XmlElement("PK")]
public nid PK
{
get;
set;
}
[XmlElement("value")]
public string value
{
get;
set;
}
[XmlElement("remark")]
public string remark
{
get;
set;
}
}
[XmlType("PK")]
public class nid
{
[XmlElement("key")]
public string key
{
get;
set;
}
[XmlElement("intervaltype")]
public string intervaltype
{
get;
set;
}
}
通过为XML序列化添加XmlRootAttribute
XmlRootAttribute root = new XmlRootAttribute();
root.ElementName = "修改名称";
XmlSerializer mySerializer = new XmlSerializer(typeof(Data), root);
二、一般节点的ElementName的修改
XmlElementAttribute myElementAttribute = new XmlElementAttribute();
myElementAttribute.ElementName= "修改名称";
XmlAttributes myAttributes = new XmlAttributes();
myAttributes.XmlElements.Add(myElementAttribute);
XmlAttributeOverrides myOverrides = new XmlAttributeOverrides();
myOverrides.Add(typeof(Data), "lsarea", myAttributes);
XmlSerializer mySerializer = new XmlSerializer(typeof(Data), myOverrides);
例子:
Data fdadf = new Data();
area test = new area();
test.areaid = "100";
item it = new item();
it.remark = "说明1";
it.PK.intervaltype = "1";
it.PK.key = "fd";
item it2 = new item();
it2.remark = "说明2";
test.lsItem.Add(it);
test.lsItem.Add(it2);
fdadf.lsarea.Add(test);
XmlSerializerNamespaces xsns = new XmlSerializerNamespaces();
xsns.Add(string.Empty, string.Empty);
StreamWriter writer = new StreamWriter("books.xml");
mySerializer.Serialize(writer, fdadf);
例实体:
[XmlType("DataGrid")]
public class Data
{
public Data()
{
lsarea = new List<area>();
}
[XmlElement("area")]
public List<area> lsarea;
}
[XmlType("area")]
public class area
{
public area()
{
areaid = string.Empty;
lsItem = new List<item>();
}
[XmlElement(Order = 1, ElementName = "areaid")]
public string areaid
{
get;
set;
}
[XmlElement(Order = 2, ElementName = "Item")]
public List<item> lsItem;
}
[XmlType("item")]
public class item
{
public item()
{
PK = new nid();
}
[XmlElement("PK")]
public nid PK
{
get;
set;
}
[XmlElement("value")]
public string value
{
get;
set;
}
[XmlElement("remark")]
public string remark
{
get;
set;
}
}
[XmlType("PK")]
public class nid
{
[XmlElement("key")]
public string key
{
get;
set;
}
[XmlElement("intervaltype")]
public string intervaltype
{
get;
set;
}
}
相关文章推荐
- python模块xml,xml.etree.ElementTree 节点的读取,查询,修改,保存,创建,删除等
- 修改xml文件中节点的值
- getElementByID getElementsByName getElementsByTagName的区别 和 对xml操作
- python xml.etree.ElementTree解析xml文件获取节点
- Python xml属性/节点/文本的增删改[xml.etree.ElementTree]
- 详解SimpleXML添加_修改_删除_遍历XML节点属性
- web.xml配置bug之提示The content of element type "web-app" must match "(icon?,display- name?,description?,distributable?,
- php xml修改节点中的属性和值
- C# 添加、修改、删除xml节点例子
- Android 学习 之 资源文件 动态修改strings.xml中的字符资源
- Action的mapping.findFoward(forwardName)必须要在struts-config.xml中的对应的action节点配置一个forward节点
- C# GET获取XML,然后寻找所需节点,修改成所需的值,再PUT发送
- 修改Android中strings.xml文件, 动态改变数据
- reportviewer 用xml方式 动态修改rdlc
- C# 生成 添加 修改 删除 XML节点操作
- Dom节点、方法、innerHTML 、nodeName/nodeValue、Dom修改
- C# XML 添加,修改,删除Xml节点
- 【String.xml】修改Android中strings.xml文件, 动态改变数据
- 修改XML节点名称
- 修改Android中strings.xml文件, 动态改变数据