C# で XML ドキュメントを処理するのは初めてです。
私のC#コード:
XmlNode root = xmlDoc.DocumentElement;
XmlElement childNode = xmlDoc.CreateElement("link:schemaRef");
root.AppendChild(childNode);
XmlAttribute type = xmlDoc.CreateAttribute("xlink:type");
type.Value = "simple";
childNode.Attributes.Append(type);
XmlAttribute type2 = xmlDoc.CreateAttribute("xlink:href");
type2.Value = "http://taxonomi.xbrl.se/se/fr/sme/rbf/2008-09-30/se-sme-rbf-2008-09-30.xsd";
childNode.Attributes.Append(type2);
しかし、そのコードを使用すると、次のような XML が生成されます。
<schemaRef type="simple" href="http://taxonomi.xbrl.se/se/fr/sme/rbf/2008-09-30/se-sme-rbf-2008-09-30.xsd" />
ただし、生成したい XML 要素は次のようになります。
<link:schemaRef xlink:type="simple" xlink:href="http://taxonomi.xbrl.se/se/fr/sme/rbf/2008-09-30/se-sme-rbf-2008-09-30.xsd" />
私は私の質問に対する解決策を持っていると思います.以下は私の一時的な解決策として機能する私のC#コードです:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"" + dir + "" + filename);
XmlNode root = xmlDoc.DocumentElement;
//##Insert XBRL link scheme
var schemaRefElement = xmlDoc.CreateElement("link", "schemaRef", "urn:linkbase");
schemaRefElement.SetAttribute("type", "http://www.w3.org/1999/xlink", "simple");
schemaRefElement.SetAttribute("href", "http://www.w3.org/1999/xlink","http://www.bi.go.id/xbrl/2012-06 18/view/Pelaporan%20Keuangan/Rincian%20aset%20non%20finansial/" + reportname + "/" + reportname + ".xsd");
root.AppendChild(schemaRefElement);
xmlDoc.Save(@"" + dir + "" + filename);
しかし、私はまだ他の最善の解決策を探しています。実際、私はLINQを使用することを好みます。