C# 向XmlAttribute添加xsd文件值
我是如何用下面的代码创建正确xml的xml字符串的C# 向XmlAttribute添加xsd文件值,c#,xml,C#,Xml,我是如何用下面的代码创建正确xml的xml字符串的 string myInputXmlString = @"<ApplicationData> <something>else</something> </ApplicationData>"; var doc = new XmlDocu
string myInputXmlString = @"<ApplicationData>
<something>else</something>
</ApplicationData>";
var doc = new XmlDocument();
doc.LoadXml(myInputXmlString);
XmlAttribute newAttr = doc.CreateAttribute(
"xsi",
"noNamespaceSchemaLocation",
"http://www.w3.org/2001/XMLSchema-instance");
doc.DocumentElement.Attributes.Append(newAttr);
var ms = new MemoryStream();
XmlWriterSettings ws = new XmlWriterSettings
{
OmitXmlDeclaration = false,
ConformanceLevel = ConformanceLevel.Document,
Encoding = UTF8Encoding.UTF8
};
var tx = XmlWriter.Create(ms, ws);
doc.Save(tx);
tx.Flush();
var xmlString = UTF8Encoding.UTF8.GetString(ms.ToArray());
Console.WriteLine(xmlString);
string myInputXmlString=@”
其他的
";
var doc=新的XmlDocument();
doc.LoadXml(myInputXmlString);
xmldattribute newAttr=doc.CreateAttribute(
“xsi”,
“非mespaceSchemaLocation”,
"http://www.w3.org/2001/XMLSchema-instance");
doc.DocumentElement.Attributes.Append(newAttr);
var ms=新内存流();
XmlWriterSettings ws=新的XmlWriterSettings
{
OmitXmlDeclaration=false,
ConformanceLevel=ConformanceLevel.Document,
编码=UTF8Encoding.UTF8
};
var tx=XmlWriter.Create(ms,ws);
文件保存(tx);
tx.Flush();
var xmlString=UTF8Encoding.UTF8.GetString(ms.ToArray());
Console.WriteLine(xmlString);
如何向其中添加xsd信息,使xml看起来像这样(包括“FullModeDataset.xsd”
<ApplicationData
xsi:noNamespaceSchemaLocation="FullModeDataset.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
而不是当前代码正在输出的
<ApplicationData
xsi:noNamespaceSchemaLocation=""
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
这是偶然的吗
doc.DocumentElement.SetAttribute("noNamespaceSchemaLocation",
"http://www.w3.org/2001/XMLSchema-instance",
"FullModeDataset.xsd");
你是否想过使用XPath来更新.CONFIG文件??@ dj。代码对于我的需求几乎是起作用的,但是我不知道如何设置xSD属性ValueWHOLL,如果你有兴趣看XPAH的例子,这里有一个链接…我在路上,实际上我会在大约45分钟后再检查。