次のxml構造をプログラムで作成したい
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include "mypath\Constants.wxi"?>
<Product Id="*" Name="$(var.ProductName)" Language="$(var.ProductLanguage)" Version="$(var.ProductVersion)" Manufacturer="$(var.ProductManufacturer)" UpgradeCode="$(var.ProductUpgradeCode)">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer vesrion of [ProductName] is already installed" />
<UIRef Id="WixUI_Minimal" />
<MediaTemplate />
</Product>
</Wix>
XDocumentを使ってみた
XDocument xmldoc = new XDocument(
new XElement("Wix",
new XText("<?include \"" + constantfileloc + "\"?>"),
new XElement("Product",
new XAttribute("Id", "*"),
new XAttribute("Name", "$(var.ProductName)"),
new XAttribute("Language", "$(var.ProductLanguage)"),
new XAttribute("Version", "$(var.ProductVersion)"),
new XAttribute("Manufacturer", "$(var.ProductManufacturer)"),
new XAttribute("UpgradeCode", "$(var.ProductUpgradeCode)"),
new XElement("Package",
new XAttribute("InstallerVersion", "200"),
new XAttribute("Compressed", "yes"),
new XAttribute("InstallScope", "perMachine")
),
new XElement("MajorUpgrade",
new XAttribute("DowngradeErrorMessage", "A newer vesrion of [ProductName] is already installed")
),
new XElement("UIRef",
new XAttribute("Id", "WixUI_Minimal")
),
new XElement("MediaTemplate")
)
)
);
問題はもちろん、要素を ? で開始できないため、<?include?/>
作成できないことです。XElement
だから私はそれを使うことでそれを機能させることができると思ったが、どうやらそれは my andの宣言でandをXText
置き換えているようだ。<
>
XText
<
>
私も使ってみXElement.parse("<?include \"" + constantfileloc + "\"?>")
ましたが、うまくいきません。
XDocumentを使用することは可能ですか? 私は本当にテキストライターを使いたくないので