【发布时间】:2014-04-10 14:49:40
【问题描述】:
过去 2 天我一直被这个问题困扰,但仍未解决,我正在寻求帮助。
我的Listbox 会根据在Combobox 中选择的项目添加生成的项目。当我单击按钮 Create 时,会出现一个新窗口,其中包含一个 WebBrowser 对象。
(不允许上传图片,因此包含在链接中)
这是带有生成项目的列表框的屏幕,也是被点击的按钮。
按钮点击事件
这将获取在组合框中选择的项目。然后它创建一个新的 Alrighty 类实例,该实例具有名为 Standards 的属性和项目列表(来自列表框中的项目)。该属性被第三行填充,然后我有另一个名为 SaveXML 的类(见下文),它保存在 XML 中。然后会打开浏览器。
string selectedStandard = (string)cmbStandard.SelectedItem;
Alrighty info = new Alrighty();
info.Standards = _standardDefinitions;
SaveXML.SaveData(info, string.Format("{0}.xml", selectedStandard));
HTMLBrowser boss = new HTMLBrowser(selectedStandard);
boss.Show();
SaveXML 类
public static void SaveData(object obj, string filename)
{
XmlSerializer sr = new XmlSerializer(obj.GetType());
TextWriter writer = new StreamWriter(filename);
sr.Serialize(writer, obj);
writer.Close();
}
问题
当我单击按钮并进入带有Web Browser 的窗口时,会出现以下代码:
正如您从蓝色框中看到的那样,当我删除此代码并将代码添加到我的 Stylesheet 时,一切正常,但问题是蓝色框中的代码不断生成,有没有办法在创建的XML 文件中找不到此代码。
额外
我怎样才能让这个字符串出现而不是蓝色框中生成的代码:
<?xml-stylesheet type="text/xsl" href="StandardXS.xsl"?>
编辑:
public class SaveXML
{
public static void SaveData(object obj, string filename)
{
//empty namespace and empty value
XmlSerializerNamespaces alright = new XmlSerializerNamespaces();
alright.Add("", "");
XmlSerializer sr = new XmlSerializer(obj.GetType());
TextWriter writer = new StreamWriter(filename);
sr.Serialize(writer, obj, alright);
writer.Close();
}
public void WriteXml(XmlWriter writer) { writer.WriteAttributeString(@"<?xml-stylesheet type=text/xsl href=StandardXS.xsl?>", string.Empty); }
}
【问题讨论】:
标签: c# xml wpf namespaces webbrowser-control