100165642.htm

来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 118 行 · 第 1/2 页

HTM
118
字号
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.Formatting=Formatting.Indented;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteStartDocument();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; // Start creating elements and attributes</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteStartElement(&quot;book&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteAttributeString(&quot;genre&quot;,&quot;Mystery&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteAttributeString(&quot;publicationdate&quot;,&quot;2001&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteAttributeString(&quot;ISBN&quot;,&quot;123456789&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteElementString(&quot;title&quot;,&quot;The Case of the Missing Cookie&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteStartElement(&quot;author&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteElementString(&quot;name&quot;,&quot;Cookie Monster&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteEndElement();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteElementString(&quot;price&quot;,&quot;9.99&quot;);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteEndElement();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.WriteEndDocument();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; //clean up</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.Flush();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; tw.Close();</span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">}</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">这里编写一个新的</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">文件</span><span lang="EN-US">booknew.xml</span><span style="FONT-FAMILY: 宋体">,并给一本新书添加数据。注意</span><span lang="EN-US">XmlTextWriter</span><span style="FONT-FAMILY: 宋体">会用新文件重写旧文件。本章的后面会把一个新元素或节点插入到现有的文档中,使用</span><span lang="EN-US">FileStream</span><span style="FONT-FAMILY: 宋体">对象作为参数,实例化</span><span lang="EN-US">XmlTextWriter</span><span style="FONT-FAMILY: 宋体">对象。还可以把一个带有文件名和路径的字符串或者一个基于</span><span lang="EN-US">TextWriter</span><span style="FONT-FAMILY: 宋体">的对象作为参数。接着,设置</span><span lang="EN-US">Indenting</span><span style="FONT-FAMILY: 宋体">属性,之后,子节点就会自动从父节点缩进。</span><span lang="EN-US">WriteStartDocument()</span><span style="FONT-FAMILY: 宋体">会添加文档声明。下面开始写入数据。首先是</span><span lang="EN-US">book</span><span style="FONT-FAMILY: 宋体">元素,添加</span><span lang="EN-US">genre</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">publicationdate </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> ISBN</span><span style="FONT-FAMILY: 宋体">属性。然后写入</span><span lang="EN-US">title</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">author</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">price</span><span style="FONT-FAMILY: 宋体">元素,注意</span><span lang="EN-US">author</span><span style="FONT-FAMILY: 宋体">元素有一个子元素名。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">单击按钮,生成</span><span lang="EN-US">booknew.xml</span><span style="FONT-FAMILY: 宋体">文件:</span></p>
<p class="2" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&lt;?xml version=&quot;1.0&quot;?&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&lt;book genre=&quot;Mystery&quot; publicationdate=&quot;2001&quot; ISBN=&quot;123456789&quot;&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp; &lt;title&gt;The Case of the Missing Cookie&lt;/title&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp; &lt;author&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp; &lt;name&gt;Cookie Monster&lt;/name&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp; &lt;/author&gt;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 13pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp; &lt;price&gt;9.99&lt;/price&gt;</span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&lt;/book&gt;</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">在开始和结束写入元素和属性时,要注意控制元素的嵌套。在给</span><span lang="EN-US">authors</span><span style="FONT-FAMILY: 宋体">元素添加</span><span lang="EN-US">name</span><span style="FONT-FAMILY: 宋体">子元素时,就可以看到这种嵌套。注意</span><span lang="EN-US">WriteStartElement()</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> WriteEndElement()</span><span style="FONT-FAMILY: 宋体">方法调用是如何安排的,以及它们是如何在输出文件中生成嵌套的元素的。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">除了</span><span lang="EN-US">WriteElementString ()</span><span style="FONT-FAMILY: 宋体">和</span> <span lang="EN-US">WriteAttributeString()</span><span style="FONT-FAMILY: 宋体">方法外,还有其他几个专用的写入方法。</span><span lang="EN-US">WriteCData()</span><span style="FONT-FAMILY: 宋体">可以输出一个</span><span lang="EN-US">Cdata</span><span style="FONT-FAMILY: 宋体">部分</span><span lang="EN-US">(&lt;!CDATA[&hellip;])&gt;)</span><span style="FONT-FAMILY: 宋体">,把要写入的文本作为一个参数。</span><span lang="EN-US">WriteComment()</span><span style="FONT-FAMILY: 宋体">以正确的</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">格式写入注释。</span><span lang="EN-US">WriteChars()</span><span style="FONT-FAMILY: 宋体">写入字符缓冲区的内容,其工作方式类似于前面的</span><span lang="EN-US">ReadChars()</span><span style="FONT-FAMILY: 宋体">,它们都使用相同类型的参数。</span><span lang="EN-US">WriteChar()</span><span style="FONT-FAMILY: 宋体">需要一个缓冲区</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">一个字符数组</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">、写入的起始位置</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">一个整数</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">和要写入的字符个数</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">一个整数</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15pt"><span style="FONT-FAMILY: 宋体">使用基于</span><span lang="EN-US">XmlReader </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> XmlWriter</span><span style="FONT-FAMILY: 宋体">的类读写</span><span lang="EN-US">XML</span><span style="FONT-FAMILY: 宋体">是非常灵活的,使用起来也很简单。下面介绍如何使用</span><span lang="EN-US">System.Xml</span><span style="FONT-FAMILY: 宋体">命名空间中</span><span lang="EN-US">XmlDocument </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> XmlNode</span><span style="FONT-FAMILY: 宋体">类执行</span><span lang="EN-US">DOM</span><span style="FONT-FAMILY: 宋体">。</span></p></div>
                <!-- page -->
                <div class="page" style="text-align: center">
                    <a href="100165641.htm">上一页</a>&nbsp;&nbsp;&nbsp;<a href="index.html">首页</a>&nbsp;&nbsp;&nbsp;<a href="100165643.htm">下一页</a>
                </div>
                <div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
                    <div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
                        图书导读
                    </div>
                    <div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
                        <!--导读-->
                        <h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165642.htm'><font color='red'>23.5.3  使用XmlTextWriter类</font></a></h1>
                        <div id="divRealteNod2" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165639.htm'>23.5  读写流格式的XML</a></div><div style='float:right;width:49%'>·<a href='100165640.htm'>23.5.1  使用 XmlTextReader类</a></div><div style='float:left;width:49%'>·<a href='100165641.htm'>23.5.2  使用XmlValidatingReader类</a></div><div style='float:right;width:49%'>·<a href='100165643.htm'>23.6  在.NET中使用DOM</a></div><div style='float:left;width:49%'>·<a href='100165644.htm'>23.7  在NET中使用XPath和XSLT</a></div><div style='float:right;width:49%'>·<a href='100165645.htm'>23.7.1  System.Xml.XPath命名空间</a></div></div>
                    </div>
                </div>
                </div>
            <!-- 评论 -->
            <!-- 今日推荐 -->
            </div>
        <!-- 页脚 -->
        <div id="foot">
         <img src="../../book/readbook.aspx@node=5642&bookid=16&bookname=23.5.3++_25ca_25b9_25d3_25c3XmlTextWriter_25c0_25e0" alt="" width="0" height="0" />
        <style>

        </div>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?