2 回答
TA贡献1804条经验 获得超8个赞
您可以使用File
类中的静态方法非常轻松地写入文本文件,因为它为您包装了流创建。
首先,我们可以重写上面的方法以返回 a List<string>
,然后可以将其写入控制台或文件或其他任何内容:
public static List<string> GetNodeInfo(XmlNode node)
{
if (node == null) return new List<string>();
var nodes = new List<string>
{
node.NodeType == XmlNodeType.Text
? node.Value.TrimStart()
: node.Name.TrimStart()
};
if (node.Attributes != null)
{
nodes.AddRange(node.Attributes.Cast<XmlAttribute>()
.Select(attribute => $"{attribute.Name} {attribute.Value}\n"));
}
nodes.AddRange(node.ChildNodes.Cast<XmlNode>().SelectMany(GetNodeInfo));
return nodes;
}
现在,我们可以使用此方法获取节点信息,然后将其写入我们想要的任何内容:
List<string> nodeInfo = GetNodeInfo(myNode);
// Write it to the console:
Console.WriteLine(string.Join(Environment.NewLine, nodeInfo));
// Write it to a file:
File.WriteAllLines(myFilePath, nodeInfo);
TA贡献2016条经验 获得超9个赞
我刚刚找到了问题的答案。我使用了以下内容:
使用 (FileStream f = new FileStream(fileName, FileMode.Append, FileAccess.Write)) 使用 (StreamWriter s = new StreamWriter(f))
对于每个 Console.Writline 更改为
s.WriteLine
- 2 回答
- 0 关注
- 84 浏览
添加回答
举报