<?xml version="1.0" encoding="utf-8"?>
<root>
<left>
</left>
<center>
<div1>
<![CDATA[ <div id="div1"><div> ]]>
</div1>
</center>
<right>
</right>
</root>通过C#
先新建div1节点,然后在div1节点写入<![CDATA[ <div id="div1"><div> ]]>public static void XmlInsertHtmlCode(string xmlPath, string MainNode, string Element, string Content)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath);
XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
objElement.InnerXml = Content;
objNode.AppendChild(objElement);
objXmlDoc.Save(xmlPath);
}1.调用:XmlInsertHtmlCode("xxx.xml","root/center","div1","<div id="div1"><div>");
我的为什么不行 使用innerxml 得到的结果是<div1><div id="div1"><div></div1>
而不是 <div1><![CDATA[ <div id="div1"><div> ]]></div1>
2.我该怎么取出 <div1><![CDATA[ <div id="div1"><div> ]]></div1> 中的<div id="div1"><div>两个问题求解,给源码。谢谢~
<root>
<left>
</left>
<center>
<div1>
<![CDATA[ <div id="div1"><div> ]]>
</div1>
</center>
<right>
</right>
</root>通过C#
先新建div1节点,然后在div1节点写入<![CDATA[ <div id="div1"><div> ]]>public static void XmlInsertHtmlCode(string xmlPath, string MainNode, string Element, string Content)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath);
XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
objElement.InnerXml = Content;
objNode.AppendChild(objElement);
objXmlDoc.Save(xmlPath);
}1.调用:XmlInsertHtmlCode("xxx.xml","root/center","div1","<div id="div1"><div>");
我的为什么不行 使用innerxml 得到的结果是<div1><div id="div1"><div></div1>
而不是 <div1><![CDATA[ <div id="div1"><div> ]]></div1>
2.我该怎么取出 <div1><![CDATA[ <div id="div1"><div> ]]></div1> 中的<div id="div1"><div>两个问题求解,给源码。谢谢~
解决方案 »
- 请教个问题,vs生成的xml文档文件,有办法不包含私有类和私有成员没?
- System.timers.timer问题
- 求救...关于DataTable
- C# 先序Create二叉树问题(抢分贴)
- IIS发布.net网站的问题
- 截取字符串?
- 求助高手,一个关于datagridview如何得到指定单元格式的问题,在线等,很急,谢谢!!!!!!!!!!!!
- 一个类中有静态变量,在程序中能不能使用反射动态取得这个静态变量的值?
- socket 求解
- Enable-Migrations命令提示构建异常,怎么排查错误原因?
- 求一个WPF开发的软件聊天IM 源代码……
- 请教大神,winform程序能否直接对内存地址进行读写
string temp2 = @"<?xml version=""1.0"" encoding=""utf-8""?>
<root>
<left>
</left>
<center>
<div1>
<![CDATA[ <div id=""div1""><div> ]]>
</div1>
</center>
<right>
</right>
</root>"; XmlDocument doc = new XmlDocument();
doc.LoadXml(temp2); XmlNode node2 = doc.SelectSingleNode("/root/center/div1");
string comment = node2.FirstChild.InnerText;
string temp2 = @"<?xml version=""1.0"" encoding=""utf-8""?>
<root>
<left>
</left>
<center>
<div1>
<![CDATA[ <div id=""div1""><div> ]]>
</div1>
</center>
<right>
</right>
</root>"; XmlDocument doc = new XmlDocument();
doc.LoadXml(temp2); XmlNode node2 = doc.SelectSingleNode("/root/center/div1");
string comment = node2.FirstChild.InnerText; node2.FirstChild.InnerText = @"<div id=""div2""><div>";
string temp2 = @"<?xml version=""1.0"" encoding=""utf-8""?>
<root>
<left>
</left>
<center>
<div1>
<![CDATA[ <div id=""div1""><div> ]]>
</div1>
</center>
<right>
</right>
</root>"; XDocument doc2 = XDocument.Parse(temp2);
XElement elment =doc2.Element("root").Element("center").Element("div1");
XCData comment2 = elment.DescendantNodes().ToList()[0] as XCData;
comment2.Value = @"<div id=""div2""><div>";
<div1><dl class="baseball" id="div1"></div1>
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath);
XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
objElement.InnerXml = Content;
objNode.AppendChild(objElement);
objXmlDoc.Save(xmlPath);
}
调用 XmlInsertHtmlCode("xxx.xml","root/center","div1","<div id="div1"><div>");
创建节点div1,div1的值为<div id="div1"><div>,我想储存为
<div1><![CDATA[ <div id="div1"><div> ]]></div1>
但是现在是
<div1><dl class="baseball" id="div1"></div1>问题1.我要怎么修改XmlInsertHtmlCode这个方法才能实现?
问题2.我想取出div1节点的值<div id="div1"><div>,又该怎么实现?
http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.createcdatasection.aspx
贴出xml的两个方法
/// <summary>
/// 取出节点值
/// </summary>
/// <param name="xmlPath">xml url</param>
/// <param name="Node">root/test</param>
/// <returns></returns>
public static string[] XmlGetHtmlCode(string xmlPath,string Node)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath); XmlNodeList elemList = objXmlDoc.GetElementsByTagName(Node);
string[] arraw = new string[elemList.Count];
for (int i = 0; i < elemList.Count; i++)
{
arraw[i] = elemList[i].InnerXml.ToString().Replace("<![CDATA[", "").Replace("]]>", ""); ;
} return arraw;
}/// <summary>
/// 插入一节点不带属性,节点值为<![CDATA[
/// </summary>
/// <param name="xmlPath">xml url</param>
/// <param name="MainNode">root/test</param>
/// <param name="Element">text1</param>
/// <param name="Content">节点内容</param>
public static void XmlInsertHtmlCode(string xmlPath, string MainNode, string Element, string Content)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath);
XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
XmlCDataSection CData;
CData = objXmlDoc.CreateCDataSection(Content);
objElement.AppendChild(CData);
objNode.AppendChild(objElement);
objXmlDoc.Save(xmlPath);
}