0
xsdファイルに対して検証が必要なXMLドキュメントを作成します。したがって、xmlのルート要素のxsdファイルへの参照が必要です。これまでのところ私はこのC#のコードを使用します。xsi:noNamespaceSchemaLocationをシリアライザに追加する方法
var ser = new XmlSerializer(typeof(myspecialtype));
XmlSerializerNamespaces MainNamespace = new XmlSerializerNamespaces();
MainNamespace.Add("xlink", "http://www.w3.org/1999/xlink");
MainNamespace.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
using (XmlWriter w = XmlWriter.Create(@"C:\myxmlfile.xml"))
{
w.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"utils/somexsl.xsl\"");
ser.Serialize(w, LeBigObject, HauptNs);
}
は、結果のXMLは次のように始まる:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="utils/somexsl.xsl"?>
<caddy-xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlVersion="03.07.00">
が、私は、この必要があります:私はここに "createAttributeを" に出くわした
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="utils/somexsl.xsl"?>
<caddy-xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlVersion="03.07.00" xsi:noNamespaceSchemaLocation="utils/theveryimportant.xsd">
を:Add Namespace to an xml root node c#私はシリアライザと一緒に置くことはできません。ありがとうございました!
「xsi:noNamespaceSchemaLocation」と「xsi:schemaLocation」の両方を追加する方法を示す[XMLシリアル化名前空間](https://stackoverflow.com/a/27533862/3744182)を参照してください。 – dbc