标签: xmlwriter

如何在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);
    }
}
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,对象的Settings属性XmlTextWriter是只读的.

如何SettingsXmlTextWriter对象上设置属性,以便NewLineOnAttributes设置有效?


嗯,我以为我需要一个XmlTextWriter,因为XmlWriter是一个abstract班级.如果你问我,有点困惑. 最终的工作代码在这里:

/// <summary>
/// Serializes an object to an XML file; writes each …
Run Code Online (Sandbox Code Playgroud)

c# xml serialization xmlwriter xmltextwriter

17
推荐指数
2
解决办法
2万
查看次数

XMLWriter与XMLDictionaryWriter

XMLWriter和之间有什么区别XMLDictionaryWriter?在哪些情况下每个人都使用?

.net xmlwriter xml-serialization

16
推荐指数
2
解决办法
9258
查看次数

使用XmlWriter编写格式化的XML

我正在尝试将XML文件写入隔离存储,但我想将其格式化为: -

<SampleData>
  <Item Property1="AliquaXX" />
  <Item Property1="Integer" />
  <Item Property1="Quisque" />
  <Item Property1="Aenean" />
  <Item Property1="Mauris" />
  <Item Property1="Vivamus" />
  <Item Property1="Nullam" />
  <Item Property1="Nam" />
  <Item Property1="Sed" />
  <Item Property1="Class" />
</SampleData>
Run Code Online (Sandbox Code Playgroud)

但如果我能解决这个问题,我会感到烦恼,任何人都可以帮忙吗?

谢谢,挣扎的新手.

c# xml xmlwriter xml-formatting windows-phone-7

16
推荐指数
2
解决办法
1万
查看次数

.NET XmlWriter中正确的名称空间管理

我在工作中使用.NET XML技术.我非常喜欢的一件事是XSLT引擎,更确切地说是它的可扩展性.然而,有一件小东西一直是烦恼的源头.没有任何重大或我们无法忍受的东西,但它阻止我们生成我们想要生成的漂亮的XML.

我们做的一件事是将节点内联转换并将节点从一个XML文档导入另一个XML文档.

遗憾的是,当您将节点保存到XmlTextWriter(实际上无论何种XmlWriter.Create(Stream) 返回)时,命名空间定义都会被抛出,无论是否有必要(先前已定义).你会得到以下xml:

<root xmlns:abx="http://bladibla">  
     <abx:child id="A">  
         <grandchild id="B">
             <abx:grandgrandchild xmlns:abx="http://bladibla" />  
         </grandchild>  
     </abx:child>  
</root>
Run Code Online (Sandbox Code Playgroud)

有没有人建议如何说服.NET对其命名空间定义有效?

PS.作为一个额外的好处,我想覆盖默认命名空间,在编写节点时更改它.

.net c# xml xmlwriter

15
推荐指数
2
解决办法
6946
查看次数

在同一个start元素标记内,前缀''无法从''重新定义为'http://www.sitemaps.org/schemas/sitemap/0.9'

我收到了这个错误

在同一个start元素标记内,前缀''无法从''重新定义为' http://www.sitemaps.org/schemas/sitemap/0.9 '

在运行此代码时

Dim writer As XmlWriter = XmlWriter.Create(FileLocation + "StaticUrls3.xml")
Dim urlList As New List(Of String)

urlList.Add("link1")
urlList.Add("link2")
urlList.Add("link3")       

writer.WriteStartDocument()
writer.WriteStartElement("urlset")
writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")

For Each aUrl As String In urlList
    writer.WriteStartElement("url")
    writer.WriteElementString("loc", aUrl)
    writer.WriteEndElement()
Next

writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误?

xml vb.net xmlwriter xml-namespaces

15
推荐指数
1
解决办法
1万
查看次数

将对象序列化为xml和字符串,不带\ r \n特殊字符

我想将我的对象序列化为xml,然后序列化为字符串.

  public class MyObject
  {
    [XmlElement]
    public string Name
    [XmlElement]
    public string Location;
  }
Run Code Online (Sandbox Code Playgroud)

我想获得一个单行字符串,它会像这样:

<MyObject><Name>Vladimir</Name><Location>Moskov</Location></MyObject>
Run Code Online (Sandbox Code Playgroud)

我正在使用这样的代码:

  XmlWriterSettings settings = new XmlWriterSettings();
  settings.OmitXmlDeclaration = true;
  settings.Indent = true;
  StringWriter StringWriter = new StringWriter();
  StringWriter.NewLine = ""; //tried to change it but without effect
  XmlWriter writer = XmlWriter.Create(StringWriter, settings);
  XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
  namespaces.Add(string.Empty, string.Empty);
  XmlSerializer MySerializer= new XmlSerializer(typeof(MyObject ));
  MyObject myObject = new MyObject { Name = "Vladimir", Location = "Moskov" };

  MySerializer.Serialize(writer, myObject, namespaces);
  string s …
Run Code Online (Sandbox Code Playgroud)

c# xmlwriter xml-serialization

14
推荐指数
2
解决办法
2万
查看次数

如何使用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);
Run Code Online (Sandbox Code Playgroud)

c# xml xmlwriter byte-order-mark

12
推荐指数
1
解决办法
1万
查看次数

从xml文件中删除版本

我正在创建一个类似Xml的格式XmlWriter.但在输出中也有版本信息.

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

我的文件中不需要这个.我怎样才能做到这一点?有没有办法通过代码删除它?

c# xml xmlwriter version

12
推荐指数
2
解决办法
1万
查看次数

将XMLWriter输出到XML文件

我目前正在使用XMLWriter来显示xml文件.但是,我想知道如何将输出导出到.xml文件.

我目前的代码是:

$res = mysql_query($sql);

$xml = new XMLWriter();

$xml->openURI("php://output");
$xml->startDocument();
$xml->startElement('stores');

while ($row = mysql_fetch_assoc($res)) {
//loads of code
}
$xml->endElement();

$xml->flush();
Run Code Online (Sandbox Code Playgroud)

php xml xmlwriter

11
推荐指数
1
解决办法
2万
查看次数

如何从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();
Run Code Online (Sandbox Code Playgroud)

c# xml xmlwriter xmlreader

10
推荐指数
2
解决办法
1万
查看次数