private void btnCreateFile_Click(object sender, System.EventArgs e) {
string fileName="d:\\testXml\\createFile.xml";
XmlDocument docXml = new XmlDocument();
XmlElement rootNode=docXml.CreateElement("xml");
rootNode.SetAttribute("xmlns:x","urn:schemas-microsoft-com:office:excel");
rootNode.SetAttribute("xmlns:dt","uuid:C2F41010-65B3-11d1-A29F-00AA00C14882");
rootNode.SetAttribute("xmlns:s","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
rootNode.SetAttribute("xmlns:rs","urn:schemas-microsoft-com:rowset");
rootNode.SetAttribute("xmlns:z","#RowsetSchema");
docXml.AppendChild(rootNode);
XmlElement pivotCacheNode=docXml.CreateElement("x:PivotCache");
rootNode.AppendChild(pivotCacheNode);
XmlElement cacheIndexNode=docXml.CreateElement("x:CacheIndex");
cacheIndexNode.InnerText="1";
pivotCacheNode.AppendChild(cacheIndexNode);
XmlElement rowsetSchemaNode=docXml.CreateElement("s:Schema");
rowsetSchemaNode.SetAttribute("id","RowsetSchema");
pivotCacheNode.AppendChild(rowsetSchemaNode);
XmlElement elementTypeNode=docXml.CreateElement("s:ElementType");
elementTypeNode.SetAttribute("name","row");
elementTypeNode.SetAttribute("content","eltOnly");
rowsetSchemaNode.AppendChild(elementTypeNode);
int i;
XmlElement tempNode;
for(i=1;i<8;i++){
tempNode=docXml.CreateElement("s:attribute");
tempNode.SetAttribute("type","Col"+i.ToString());
elementTypeNode.AppendChild(tempNode);
tempNode=docXml.CreateElement("AttributeType");
tempNode.Prefix="s";
tempNode.SetAttribute("name","Col"+i.ToString());
tempNode.SetAttribute("rs:name","test"+i.ToString());
rowsetSchemaNode.AppendChild(tempNode);
tempNode.AppendChild(docXml.CreateElement("s:datatype")) ;
((XmlElement)(tempNode.FirstChild)).SetAttribute("dt:maxLength","255");
}
tempNode=docXml.CreateElement("s:extends");
tempNode.SetAttribute("type","rs:rowbase");
elementTypeNode.AppendChild(tempNode);
XmlElement dataNode=docXml.CreateElement("rs:data");
pivotCacheNode.AppendChild(dataNode);
docXml.Save(fileName) ;
}
巴西对WIN了.
试试这个:
private void btnCreateFile_Click(object sender, System.EventArgs e)
{
string fileName="d:\\createFile.xml";
XmlDocument docXml = new XmlDocument();
XmlElement rootNode=docXml.CreateElement("xml");
rootNode.SetAttribute("xmlns:x","urn:schemas-microsoft-com:office:excel");
rootNode.SetAttribute("xmlns:dt","uuid:C2F41010-65B3-11d1-A29F-00AA00C14882");
rootNode.SetAttribute("xmlns:s","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
rootNode.SetAttribute("xmlns:rs","urn:schemas-microsoft-com:rowset");
rootNode.SetAttribute("xmlns:z","#RowsetSchema");
docXml.AppendChild(rootNode);
string prex=rootNode.GetPrefixOfNamespace("urn:schemas-microsoft-com:office:excel");
string predt=rootNode.GetPrefixOfNamespace("uuid:C2F41010-65B3-11d1-A29F-00AA00C14882");
string pres=rootNode.GetPrefixOfNamespace("uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
string prexrs=rootNode.GetPrefixOfNamespace("urn:schemas-microsoft-com:rowset");
string prexz=rootNode.GetPrefixOfNamespace("#RowsetSchema");
XmlElement pivotCacheNode=docXml.CreateElement(prex,"PivotCache","urn:schemas-microsoft-com:office:excel");
rootNode.AppendChild(pivotCacheNode);
XmlElement cacheIndexNode=docXml.CreateElement(prex,"CacheIndex","urn:schemas-microsoft-com:office:excel");
cacheIndexNode.InnerText="1";
pivotCacheNode.AppendChild(cacheIndexNode);
XmlElement rowsetSchemaNode=docXml.CreateElement(pres,"Schema","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
rowsetSchemaNode.SetAttribute("id","RowsetSchema");
pivotCacheNode.AppendChild(rowsetSchemaNode);
XmlElement elementTypeNode=docXml.CreateElement(pres,"ElementType","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
elementTypeNode.SetAttribute("name","row");
elementTypeNode.SetAttribute("content","eltOnly");
rowsetSchemaNode.AppendChild(elementTypeNode);
int i;
XmlElement tempNode;
for(i=1;i<8;i++){
tempNode=docXml.CreateElement(pres,"attribute","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
tempNode.SetAttribute("type","Col"+i.ToString());
elementTypeNode.AppendChild(tempNode);
tempNode=docXml.CreateElement(pres,"AttributeType","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882");
tempNode.SetAttribute("name","Col"+i.ToString());
tempNode.SetAttribute("rs:name","test"+i.ToString());
rowsetSchemaNode.AppendChild(tempNode);
tempNode.AppendChild(docXml.CreateElement(pres,"datatype","uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882")) ;
((XmlElement)(tempNode.FirstChild)).SetAttribute("dt:maxLength","255");
}
tempNode=docXml.CreateElement("s:extends");
tempNode.SetAttribute("type","rs:rowbase");
elementTypeNode.AppendChild(tempNode);
XmlElement dataNode=docXml.CreateElement("rs:data");
pivotCacheNode.AppendChild(dataNode);
docXml.Save(fileName) ;
}