小智 9
使用SAX样式的元素解析器和使用XmlReader.Create创建的XmlTextReader类将是一个好主意,是的.这是CodeGuru的一个稍微修改过的代码示例:
void ParseURL(string strUrl)
{
try
{
using (var reader = XmlReader.Create(strUrl))
{
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
var attributes = new Hashtable();
var strURI = reader.NamespaceURI;
var strName = reader.Name;
if (reader.HasAttributes)
{
for (int i = 0; i < reader.AttributeCount; i++)
{
reader.MoveToAttribute(i);
attributes.Add(reader.Name,reader.Value);
}
}
StartElement(strURI,strName,strName,attributes);
break;
//
//you can handle other cases here
//
//case XmlNodeType.EndElement:
// Todo
//case XmlNodeType.Text:
// Todo
default:
break;
}
}
}
catch (XmlException e)
{
Console.WriteLine("error occured: " + e.Message);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我无法添加评论,因为我刚刚注册但由Hirvox发布的代码示例当前被选为答案有一个错误.new使用静态Create方法时不应该有语句.
当前:
using (var reader = new XmlReader.Create(strUrl))
Run Code Online (Sandbox Code Playgroud)
固定:
using (var reader = XmlReader.Create(strUrl))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9609 次 |
| 最近记录: |