C# 如何创建虚拟XML结构?

C# 如何创建虚拟XML结构?,c#,xml,xml-parsing,xmlnode,C#,Xml,Xml Parsing,Xmlnode,下面的代码需要伪XML,如果(reader.NodeType==//XmlNodeType.Element&&reader.Name.ToLower()==“transmissions”)条件为,则存在 public BusinessEntities.FileParseResult Parse(string FilePath) { FileParseResult _fileParseResult = new FileParseResult();

下面的代码需要伪XML,如果(reader.NodeType==//XmlNodeType.Element&&reader.Name.ToLower()==“transmissions”)条件为,则存在

     public BusinessEntities.FileParseResult Parse(string FilePath)
     {

        FileParseResult _fileParseResult = new FileParseResult();
        _fileParseResult.FileParseResultType = FileParseResultType.ValidFileClaim;


        Logger.LogMessage(PREPROCESS_FILEPARSER.TRACE_MSG, "****WorkComp.Net : Pre Processor -> Start parsing valid AT XML File *****");
        XmlReaderSettings settings = new XmlReaderSettings();

        settings.ConformanceLevel = ConformanceLevel.Fragment;
        using (XmlReader reader = XmlReader.Create(FilePath, settings))
        {
            try
            {
                string tranmissionsattr = string.Empty;
                string header = string.Empty;
                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Element && reader.Name.ToLower() == "transmissions")
                    {
                        for (int i = 0; i < reader.AttributeCount; i++)
                        {
                            reader.MoveToAttribute(i);
                            tranmissionsattr = tranmissionsattr + "  " + reader.Name + "=\"" + reader.GetAttribute(i) + "\"";
                        }
                        reader.MoveToElement();
                    }
                }
            }
        }
    }
public BusinessEntities.FileParseResult解析(字符串文件路径) { FileParseResult _FileParseResult=新建FileParseResult(); _fileParseResult.FileParseResultType=FileParseResultType.ValidFileClaim; LogMessage(PREPROCESS_FILEPARSER.TRACE_MSG,“*****WorkComp.Net:Pre-Processor->Start-parsing-valid AT-XML File*****”); XmlReaderSettings设置=新建XmlReaderSettings(); settings.ConformanceLevel=ConformanceLevel.Fragment; 使用(XmlReader=XmlReader.Create(文件路径、设置)) { 尝试 { string transmissionsattr=string.Empty; 字符串头=string.Empty; while(reader.Read()) { if(reader.NodeType==XmlNodeType.Element&&reader.Name.ToLower()==“传输”) { for(int i=0;i
那怎么办

<transmissions attribute1="test1" attribute2="test2" />
<transmissions attribute1="test1" attribute2="test2" />
<transmissions attribute1="test1" attribute2="test2" />
<transmissions attribute1="test1" attribute2="test2" />

:)

以下是一些测试代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            BusinessEntities be = new BusinessEntities();
            be.Parse(FILENAME);
        }
    }
    public class BusinessEntities
    {
        public enum FileParseResultType
        {
            ValidFileClaim
        }
        public class FileParseResult
        {
            public FileParseResultType FileParseResultType { get; set; }
        }
        public BusinessEntities.FileParseResult Parse(string FilePath)
        {

            FileParseResult _fileParseResult = new FileParseResult();
            _fileParseResult.FileParseResultType = FileParseResultType.ValidFileClaim;


            //Logger.LogMessage(PREPROCESS_FILEPARSER.TRACE_MSG, "****WorkComp.Net : Pre Processor -> Start parsing valid AT XML File *****");
            XmlReaderSettings settings = new XmlReaderSettings();

            settings.ConformanceLevel = ConformanceLevel.Fragment;
            string xml = "<?xml version=\"1.0\" ?><transmissions version=\"1.0\" xmlns=\"workcomp.net/wcn2/public\"><transmission><header></header><reports><report><R4>FL</R4><R5></R5>JCN<R15>ClaimTest1</R15></report></reports><trailer recordcount=\"1\"/></transmission></transmissions>";
            StringReader sreader = new StringReader(xml);
            Console.WriteLine(xml.Substring(195,10));
            using (XmlReader reader = XmlReader.Create(sreader, settings))
            {
                try
                {
                    string tranmissionsattr = string.Empty;
                    string header = string.Empty;
                    while (reader.Read())
                    {
                        if (reader.NodeType == XmlNodeType.Element && reader.Name.ToLower() == "transmissions")
                        {
                            for (int i = 0; i < reader.AttributeCount; i++)
                            {
                                reader.MoveToAttribute(i);
                                tranmissionsattr = tranmissionsattr + "  " + reader.Name + "=\"" + reader.GetAttribute(i) + "\"";
                            }
                            reader.MoveToElement();
                        }
                    }
                }

                catch (Exception e)
                {
                    string error = e.Message;
                }
            }
            return _fileParseResult;
        }
    }
}
​

​
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Xml;
使用System.IO;
命名空间控制台应用程序1
{
班级计划
{
常量字符串文件名=@“c:\temp\test.xml”;
静态void Main(字符串[]参数)
{
BusinessEntities be=新的BusinessEntities();
be.Parse(文件名);
}
}
公共类商业实体
{
公共枚举文件ParseResultType
{
有效分子
}
公共类FileParseResult
{
公共文件ParseResultType文件ParseResultType{get;set;}
}
public BusinessEntities.FileParseResult解析(字符串文件路径)
{
FileParseResult _FileParseResult=新建FileParseResult();
_fileParseResult.FileParseResultType=FileParseResultType.ValidFileClaim;
//LogMessage(PREPROCESS_FILEPARSER.TRACE_MSG,“*****WorkComp.Net:Pre-Processor->Start-parsing-valid AT-XML File*****”);
XmlReaderSettings设置=新建XmlReaderSettings();
settings.ConformanceLevel=ConformanceLevel.Fragment;
字符串xml=“fljcnlaimtest1”;
StringReader sreader=新的StringReader(xml);
Console.WriteLine(xml.Substring(195,10));
使用(XmlReader=XmlReader.Create(sreader,设置))
{
尝试
{
string transmissionsattr=string.Empty;
字符串头=string.Empty;
while(reader.Read())
{
if(reader.NodeType==XmlNodeType.Element&&reader.Name.ToLower()==“传输”)
{
for(int i=0;i
?如果传输是根标签,则不起作用。您只能有一个根标记。@jdweng如果一致性级别设置为fragment(它是),那么它将正常工作。Per“此设置接受顶层具有多个根元素或文本节点的XML数据。”感谢您的响应。字符串xml=“fljcnlaimtest1”;问题是:当我的调试器点击到上面的行时,使用(XmlReader=XmlReader.Create(xml,settings))会给我一个错误,路径中有非法字符。我无法提供XML的物理路径。结束标记具有不可见的非法字符。复制并粘贴此注释中没有不可见字符的标记。