// .net 2.0和vs2005使用。
我在下面找到了一些代码。 我不确定我是否可以扩展示例代码?谢谢。
if (radioButton.Checked)
{
MemoryStream ms=new MemoryStream();
byte[] data=ASCIIEncoding.ASCII.GetBytes(textBox1.Text);
ms.Write(data,0,data.Length);
reader = new XmlTextReader(ms);
//some procesing code
ms.Close();
reader.Close();
}
顺便说一句,你能帮我解一下下面的一行吗?
byte[] data=ASCIIEncoding.ASCII.GetBytes(textBox1.Text);
答案 0 :(得分:4)
using (var reader = new StringReader(textBox1.Text))
using (var xmlReader = XmlReader.Create(reader))
{
while (xmlReader.Read())
{
//some procesing code
}
}
关于这一行byte[] data=ASCIIEncoding.ASCII.GetBytes(textBox1.Text);
:
声明一个名为data
的变量类型为byte的变量,并将其分配给使用ASCII编码转换为字节数组的textBox1.Text
字符串的内容。
答案 1 :(得分:1)
回答你的第二个问题:
byte[] data=ASCIIEncoding.ASCII.GetBytes(textBox1.Text);
通常,文本存储为一系列字符,每个字符都以unicode格式存储,每个字符占用几个字节。 ASCII格式是一种较旧的格式,每个字符使用一个字节(实际上,最初为7位,然后扩展为使用8位)。
ASCIIEncoding提供了一种转换为旧格式的方法。上面的代码行将文本转换为ASCII表示形式,并返回包含该格式文本的“原始”字节数组。
请注意,ASCII为每个字符使用一个字节,因此只能表示256个不同的字符 - Unicode可以表示数千个字符,因此在转换过程中,某些字符将丢失(转换为更简单的形式,其中acute / cedilla / umlaut丢失,或被另一个角色取代 - 例如“?”)
(这样做的典型优点是编写代码以处理更简单的格式可能更容易,或者它使用更少的内存,因为它只使用每个字符一个字节,或者您需要将数据发送到“第三方“要求它是ASCII”
答案 2 :(得分:1)
Filestream fs = new Filestream(textBox1.Text);
XmlReader reader = XmlReader.Create(fs);