C# xml作为类的属性

C# xml作为类的属性,c#,xml,C#,Xml,我有一个类有一些属性,其中一个属性想要获取或设置XML文本,如下所示: <?xml version="1.0" encoding="utf-8"?> <Root> <SaveCode>QuiddityVer</SaveCode> <IsMainProject>fals</IsMainProject> <DesignerItems> <DesignerItem> <

我有一个类有一些属性,其中一个属性想要获取或设置XML文本,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <SaveCode>QuiddityVer</SaveCode>
  <IsMainProject>fals</IsMainProject>
  <DesignerItems>
    <DesignerItem>
      <Quiddity>Play</Quiddity>
      <Name>Node_Play1</Name>            
      <LoopBodyInDesignerCanvas />
    </DesignerItem>   
</Root>
privte String _myxmlExpresion;
public String myxmlExpresion
        {
            get
            {
                return _myxmlExpresion;
            }
            set
            {
                _myxmlExpresion= value;
            }
        }

我的项目是multiTab,每个选项卡都有DesignerItems来显示其中的一些节点(比如VisualDialPlan,或者VisualVXML Designer),还有一些节点有一个属性,当我单击它时会打开一个新的选项卡,我保存并在XML文件中打开这个选项卡,但我不希望这个新选项卡成为额外的XML文件,我想将它保存在我的属性中

您可以只使用普通字符串,也可以使用


或者,您也可以使用。(感谢msmucker0527)

创建用于保存xml数据的类:

public class Foo
{
    public string SaveCode { get; set; }
    public bool IsMainProject { get; set; }
    public List<DesignerItem> DesignerItems { get; set; }
}

public class DesignerItem
{
    public string Quiddity { get; set; }
    public string Name { get; set; }
    public string LoopBodyInDesignerCanvas { get; set; }
}
将解析后的对象存储为
Foo
类型的属性(当然,我认为对于数据有一个更好的名称,您的xml包含这个名称)。这将为您提供强类型语言的所有优势:

if (yourObject.Foo.IsMainProject)
    // ...

顺便说一句,xml中有输入错误-对于
DesignerItems
元素没有结束标记。
false
value中有输入错误。

一个合适的方法是将所有新选项卡另存为一个单独的文件,并在我们的属性中有新选项卡地址以打开和保存XML文档。

您应该将其反序列化为具体类型,并将其用作您的属性。抱歉..但我无法理解您的问题..是否要提取xml中的内容,如果是,您想提取什么?您想用它做什么?你要把它打印到屏幕上吗?您是否需要查看结构并找到某些项目?你会对那里的内容做一些小的更改,然后保存回去吗?这将有助于确定您是否需要创建一组自定义类型来表示此属性,是否只需要使用XML库来查询它,或者是否可以将其保留为字符串。您计划如何使用此属性?展示几个用例。我不想将XML表达式保存到文件中,我想让属性包含我的XML表达式。或者一个XmlDocument:@msmucker0527。添加到我的答案中。你的代码很棒,但我不是那个意思。我想设置属性并获取类似字符串的内容,但用于设置和获取的数据不是字符串,而是XMLExpression@Ahadaghapour为什么要将普通xml存储在.net对象中?我想将xml文件保存为我的类的属性,然后使用保存的xml文件做什么?我的项目是multiTab,每个选项卡都有DesignerItems来显示其中的一些节点(比如VisualDialPlan),一些节点有属性生成一个新的选项卡,我在XML文件中保存并打开这些选项卡,但是我不希望这个新的选项卡成为额外的XML文件,我想将它保存在我的属性中。
if (yourObject.Foo.IsMainProject)
    // ...