Tag: xmlwriter

XMLWriter:带有标记名称和字符串的WriteStartElement,用于指示标记名称

我有相同的标签名称和不同的字符串与不同的标签名称。 这是XML。 1001 10 name COMMON 15-FEBRUARY-2013 name 19 58239346 这是我目前的代码: public String cards(string id) { StringWriter str = new StringWriter(); XmlTextWriter xmlWriter = new XmlTextWriter(str); xmlWriter.Formatting = Formatting.Indented; xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement(“order”); xmlWriter.WriteElementString(“ID”, “1001”); xmlWriter.WriteStartElement(“config”); xmlWriter.WriteStartElement(“properties”); /* * Create at here * * * * */ xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); xmlWriter.WriteElementString(“ClientID”, id); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); xmlWriter.Flush(); xmlWriter.Close(); return str.ToString(); […]

如何在XmlTextWriter中设置Settings属性,以便我可以在自己的行上编写每个XML属性?

我有一些代码,它将一个对象序列化为一个文件。 我试图让每个XML属性在一个单独的行上输出。 代码如下所示: public static void ToXMLFile(Object obj, string filePath) { XmlSerializer serializer = new XmlSerializer(obj.GetType()); XmlWriterSettings settings = new XmlWriterSettings(); settings.NewLineOnAttributes = true; XmlTextWriter writer = new XmlTextWriter(filePath, Encoding.UTF8); writer.Settings = settings; // Fails here. Property is read only. using (Stream baseStream = writer.BaseStream) { serializer.Serialize(writer, obj); } } 唯一的问题是, XmlTextWriter对象的Settings属性是只读的。 如何在XmlTextWriter对象上Settings属性,以便NewLineOnAttributes设置有效? 好吧,我以为我需要一个XmlTextWriter ,因为XmlWriter是一个abstract类。 […]

如何使用没有声明元素的xml编写器创建xml

我正在使用XmlWriter.Create()获取一个编写器实例然后编写XML,但结果是 ,我如何告诉我的xml编写器不生产它?

可以使用XmlWriter将XML写入内存吗?

我正在创建一个返回XML的ASHX,但是当我这样做时它需要一条路径 XmlWriter writer = XmlWriter.Create(returnXML, settings) 但是returnXML现在只是一个空字符串(猜测它不起作用),但是我需要将XML编写成我可以作为响应文本发送的东西。 我尝试了XmlDocument,但它给了我一个错误,期待一个字符串。 我在这里想念的是什么?

C#将数据添加到xml文件

我正在构建一个Parts应用程序,以便学习C#和WPF。 我尝试使用XmlWriter添加新部件时遇到问题。 我可以创建xml文件,但无法确定如何添加其他部分。 我应该使用像XmlDocument这样的东西吗? 这是我的代码背后: private void btnSave_Click(object sender, RoutedEventArgs e) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = Encoding.UTF8; settings.Indent = true; using (XmlWriter writer = XmlWriter.Create(“f:\\MyParts.xml”, settings)) { writer.WriteStartDocument(); writer.WriteStartElement(“MyParts”); writer.WriteStartElement(“parts”); writer.WriteStartElement(“item”); writer.WriteString(txtbxitem.Text); writer.WriteEndElement(); writer.WriteStartElement(“color”); writer.WriteString(txtbxcolor.Text); writer.WriteEndElement(); writer.WriteStartElement(“size”); writer.WriteString(txtbxsize.Text); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); writer.Close(); } } 此代码正确创建xml文件和节点,但如何添加其他部分? 这是我想要创建的: Part1 Red SM Part2 Blue […]

替换Xml节点/元素的innertext

首先,这是C#。 我正在为NHS中的一小组同事创建一个互联网仪表板。 下面是一个示例xml文件,我需要更改其中的innertext。 我需要替换特定元素,例如“Workshop1”。 因为我们有一些研讨会,所以我不能使用通用编写器,因为它将使用下面的一段代码替换XML文档中的所有信息。 hello www.google.co.uk 我正在使用一个开关盒来选择一个特定的工作室,您可以在其中更改名称并添加研讨会的URL,使用下面的代码将替换整个文档。 public void XMLW() { XmlTextReader reader = new XmlTextReader(“C:\\myXmFile.xml”); XmlDocument doc = new XmlDocument(); switch (comboBox1.Text) { case “button1”: doc.Load(reader); //Assuming reader is your XmlReader doc.SelectSingleNode(“buttons/workshop1″).InnerText = textBox1.Text; reader.Close(); doc.Save(@”C:\myXmFile.xml”); break; } } 所以只是为了澄清我希望我的C#程序搜索XML文档找到元素“Workshop1”并用文本框中的文本替换innertext。 并且能够保存它而无需用一个节点替换整个文档。 谢谢你的期待。

从xml文件中删除版本

我正在使用XmlWriter创建一个类似Xml的格式。 但在输出中也有版本信息。 我的文件中不需要这个。 我怎样才能做到这一点? 有没有办法通过代码删除它?

如何从XmlReader创建XML文件?

如何从System.Xml.XmlReader编写XML文件? 我认为这将是一个简单的问题,但每当我搜索时,我似乎最终都会将文件读取到读取器或逐个节点地编写。 XmlReader对象传达存储在数据库中的xml,只需要从数据库中传出一个文件即可。 有没有简单的方法来做到这一点? SqlCommand dataCmd = new SqlCommand(sqlText, Conn); System.Xml.XmlReader dataReader = null; dataCmd.CommandTimeout = 60000; Conn.Open(); dataReader = dataCmd.ExecuteXmlReader(); dataReader.Read();

如何使用C#从XmlTextWriter中删除BOM?

如何从正在创建的XML文件中删除BOM? 我尝试过使用新的UTF8Encoding(false)方法,但它不起作用。 这是我的代码: XmlDocument xmlDoc = new XmlDocument(); XmlTextWriter xmlWriter = new XmlTextWriter(filename, new UTF8Encoding(false)); xmlWriter.Formatting = Formatting.Indented; xmlWriter.WriteProcessingInstruction(“xml”, “version=’1.0′ encoding=’UTF-8′”); xmlWriter.WriteStartElement(“items”); xmlWriter.Close(); xmlDoc.Load(filename); XmlNode root = xmlDoc.DocumentElement; XmlElement item = xmlDoc.CreateElement(“item”); root.AppendChild(item); XmlElement itemCategory = xmlDoc.CreateElement(“category”); XmlText itemCategoryText = xmlDoc.CreateTextNode(“test”); item.AppendChild(itemCategory); itemCategory.AppendChild(itemCategoryText); xmlDoc.Save(filename);

C#中XMLwriter的缩进和换行命令

我正在将一些数据写入XML文件…但是当我打开它时,所有的值都在一行中…如何以可读格式编写它?即新行和缩进中的每个节点? FileStream fs = new FileStream(“myfile.xml”, FileMode.Create); XmlWriter w = XmlWriter.Create(fs); w.WriteStartDocument(); w.WriteStartElement(“myfile”); w.WriteElementString(“id”, id.Text); w.WriteElementString(“date”, dateTimePicker1.Text); w.WriteElementString(“version”, ver.Text); w.WriteEndElement(); w.WriteEndDocument(); w.Flush(); fs.Close();