<RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#">
<Description xmlns:dc=http://www.w3.org/dc/
about="http://www.example.com/test.xml">
<dc:title>example</dc:title>
<dc:author>linuxsir</dc:author>
...
</Description>
</RDF> 就是比如第一行<RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#">
我用System.Xml.XmlElement CreateElement写出来的是
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#">
我不想在RDF前面加上rdf前缀 我只想给后面的名称空间加前缀 请问该如何写 非常感谢!
<Description xmlns:dc=http://www.w3.org/dc/
about="http://www.example.com/test.xml">
<dc:title>example</dc:title>
<dc:author>linuxsir</dc:author>
...
</Description>
</RDF> 就是比如第一行<RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#">
我用System.Xml.XmlElement CreateElement写出来的是
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#">
我不想在RDF前面加上rdf前缀 我只想给后面的名称空间加前缀 请问该如何写 非常感谢!
给你一个我写的方法.不过你如果想直接用还需要定义几个变量
private System.Xml.XmlDocument xmlDoc= new XmlDocument();;
/// <summary>
/// 创建xml节点
/// </summary>
/// <param name="XmlNodeName">跟节点名称</param>
/// <param name="objName">节点属性和节点属性值,数组,数组的下标和2取模=0表示属性名字,
/// =1表示属性值</param>
/// <returns>创建的xml节点</returns>
public System.Xml.XmlNode CreateNote(string XmlNodeName, ref object[] objName)
{
try
{
int intLen = 0;
System.Xml.XmlNode xmlNewNode; //创建一个新节点
xmlNewNode = xmlDoc.CreateNode(System.Xml.XmlNodeType.Element, XmlNodeName, ""); intLen = objName.Length;
//如果没有属性值则只创建一个主节点
if (intLen <= 0)
return xmlNewNode; //属性节点
System.Xml.XmlNode xmlArrNode; if ((intLen % 2) != 0)
{
for (int i = 0; i < objName.Length - 1; i = i + 2)
{
//加入一个属性名字
xmlArrNode = xmlDoc.CreateNode(System.Xml.XmlNodeType.Attribute, objName[i].ToString(), "");
//设置属性值
xmlArrNode.Value = objName[i + 1].ToString();
//加入到新节点中
xmlNewNode.Attributes.SetNamedItem(xmlArrNode); } }
//这里表示就有一个是节点对象值
else
{
if (objName.Length > 0)
{
for (int i = 0; i < objName.Length - 1; i = i + 2)
{
//加入一个属性名字
xmlArrNode = xmlDoc.CreateNode(System.Xml.XmlNodeType.Attribute, objName[i].ToString(), "");
//设置属性值
xmlArrNode.Value = objName[i + 1].ToString();
//加入到新节点中
xmlNewNode.Attributes.SetNamedItem(xmlArrNode);
}
}
//创建一个CData对象
System.Xml.XmlCDataSection xml_CData;// = new System.Xml.XmlCDataSection();
xml_CData = xmlDoc.CreateCDataSection(objName[objName.Length - 1].ToString());
xmlNewNode.AppendChild(xml_CData); }
//xmlDoc = null;
return xmlNewNode;
}
catch (Exception ex)
{
return null;
}
}
vs05用XmlDocument和XmlElement或者XmlNode
vs08可以用以上提供的东西,也可以用Linq to Xml的东西
XDocument和XElement等
XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode);
XmlElement xmlelem = xmldoc.CreateElement("", "RDF", "");
XmlAttribute xmlattr = xmldoc.CreateAttribute("xmlns:rdf");
xmlattr.Value = "http://www.w3.org/TR/REC-rdf-syntax";
xmlelem.Attributes.Append(xmlattr);
xmldoc.AppendChild(xmlelem);