向XML中写入数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向XML中写入数据相关的知识,希望对你有一定的参考价值。

用C#操作XML:(写入)
在textarea中写入文本,带换行符的
在写入XML中时,会被直接写入,就是在XML中的数据还是换行的
用正则把文本中"\n"换成"<br>",在XML中还是换了行
方法是可以用<![CDATA["asfdasfd"]]>来解决。
但是要怎么在写入数据的时候加上<![CDATA[]>?!
还要保证<![CDATA[]>里面不能有换行
谢谢

参考技术A 向xml文件中动态的添加节点(数据)是一件很爽的事,可以给你的程序带来很多的方便,比如在web中,如果你的flash用到了xml文件,这个方法可以让你在后台就轻轻松松的更新你的flash内容哦 参考技术B 1, 把数据读入到dataset .

2 ,利用dataset 的write() 方法写入。
参考技术C XmlDocument doc = new XmlDocument();
XmlElement xe = doc.CreateElement("root");
XmlCDataSection xcs = doc.CreateCDataSection("test");

xcs.InnerText = "<aaaaa><br/>";
xe.AppendChild(xcs);
doc.AppendChild(xe);
doc.Save("c:\\aa.xml");本回答被提问者采纳
参考技术D XmlDocument
doc
=
new
XmlDocument();
XmlElement
xe
=
doc.CreateElement("root");
XmlCDataSection
xcs
=
doc.CreateCDataSection("test");
xcs.InnerText
=
"<aaaaa><br/>";
xe.
AppendChild
(xcs);
doc.AppendChild(xe);
doc.Save("c:\\aa.xml");

创建新的 XML 文件并向其写入数据?

【中文标题】创建新的 XML 文件并向其写入数据?【英文标题】:Create new XML file and write data to it? 【发布时间】:2011-01-03 13:22:16 【问题描述】:

我需要创建一个新的 XML 文件并将其写入我的服务器。因此,我正在寻找创建新 XML 文件、向其中写入一些基本节点并保存它的最佳方法。然后再次打开并写入更多数据。

我一直在使用file_put_contents() 来保存文件。但是,要创建一个新节点并编写一些基本节点,我不确定最好的方法。

想法?

【问题讨论】:

【参考方案1】:

DOMDocument 是一个不错的选择。它是一个专门为创建和操作 XML 文档而设计的模块。您可以从头开始创建文档,或打开现有文档(或字符串)并导航和修改其结构。

$xml = new DOMDocument();
$xml_album = $xml->createElement("Album");
$xml_track = $xml->createElement("Track");
$xml_album->appendChild( $xml_track );
$xml->appendChild( $xml_album );

$xml->save("/tmp/test.xml");

重新打开并写入:

$xml = new DOMDocument();
$xml->load('/tmp/test.xml');
$nodes = $xml->getElementsByTagName('Album') ;
if ($nodes->length > 0) 
   //insert some stuff using appendChild()


//re-save
$xml->save("/tmp/test.xml");

【讨论】:

如何在我的文档中保留 XML 结构,而不是将所有内容都写在一行上? 在 DOMDocument 对象上设置“formatOutput”属性:$xml-&gt;formatOutput = true。 ca.php.net/manual/en/… 有点晚了,但如果有人想阅读教程,可以在这里找到。 programmerblog.net/how-to-generate-xml-files-using-php【参考方案2】:

PHP 有几个用于XML Manipulation 的库。

Document Object Model (DOM) 方法(这是 W3C 标准,如果您在其他环境(如 Web 浏览器或 Java 等)中使用过它应该很熟悉)。允许您按如下方式创建文档

<?php
    $doc = new DOMDocument( );
    $ele = $doc->createElement( 'Root' );
    $ele->nodeValue = 'Hello XML World';
    $doc->appendChild( $ele );
    $doc->save('MyXmlFile.xml');
?>

即使您以前没有接触过 DOM,也值得花一些时间在它上面,因为该模型用于多种语言/环境。

【讨论】:

【参考方案3】:

使用FluidXML,您可以非常轻松地生成和存储 XML 文档。

$doc = fluidxml();

$doc->add('Album', true)
        ->add('Track', 'Track Title');

$doc->save('album.xml');

从文件加载文档同样简单。

$doc = fluidify('album.xml');

$doc->query('//Track')
        ->attr('id', 123);

https://github.com/servo-php/fluidxml

【讨论】:

以上是关于向XML中写入数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 XmlSerializer 时如何向 XML 文件写入注释?

java向word写入数据

如何用java向指定的Excel中写入数据

关于Java中向文件写入数据的问题

以编程方式向 WPF 中的文件添加写入权限

如何向Word中写入数据,C#.net