Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在vb.net中使用xsd模式生成带点(.)的xml标记?_Xml_Vb.net_Xsd - Fatal编程技术网

如何在vb.net中使用xsd模式生成带点(.)的xml标记?

如何在vb.net中使用xsd模式生成带点(.)的xml标记?,xml,vb.net,xsd,Xml,Vb.net,Xsd,我将在理货软件中为分类账生成xml。为此,我创建了一个xsd文件。。在xml中, 有些标签是用圆点生成的。比如说 我遵循以下编码: <xs:complexType name="Ledger1"> <xs:element minOccurs="1" maxOccurs="unbounded" name="BLOOD.GROUPS" type="BLOODGROUPS"/> <xs:complexType name="BLOODGROUPS">

我将在理货软件中为分类账生成xml。为此,我创建了一个xsd文件。。在xml中, 有些标签是用圆点生成的。比如说

我遵循以下编码:

<xs:complexType name="Ledger1">
   <xs:element minOccurs="1" maxOccurs="unbounded"  name="BLOOD.GROUPS"
   type="BLOODGROUPS"/>

   <xs:complexType name="BLOODGROUPS">
    <xs:sequence>
      <xs:element name="BLOODGROUPS"  type="xs:string"/>
      <xs:element name="BLOODGROUPS"  type="xs:string"/>
      <xs:element name="BLOODGROUPS"  type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

使用上述xsd生成的结果如下

<BLOODGROUPS>
  <BLOOD>A+</BLOOD>
  <BLOOD>B+</BLOOD>
  <BLOOD>O-</BLOOD>
</BLOODGROUPS>

A+
B+
O-
但预期结果是:

<BLOOD.GROUPS>
  <BLOOD>A+</BLOOD>
  <BLOOD>B+</BLOOD>
  <BLOOD>O-</BLOOD>
</BLOOD.GROUPS> 

A+
B+
O-
有人能帮我如何为上述预期结果声明xsd吗
在vb.net中,我使用的是3.5版

不幸的是,您不能直接用
字符设置
表名
。但是,您可以使用
DataAdapter
填充数据集,然后使用
DataSet1.WriteXml(“D:\\fileName.xml”)
方法将该数据集写入xml文件。我已经使用该方法创建了一个示例文件

Dim Da As new SqlDataAdapter("Select Query", Connection)
Dim Ds As new DataSet()
Da.Fill(Ds, "Table.Name");
Ds.WriteXml("D:\\tempFile.xml")
示例文件

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <Table.Name>
    <CompanyID>1</CompanyID>
    <IndustryID>98</IndustryID>
    <AwardID>MA000012</AwardID>
    <AgreementID>9</AgreementID>
    <CreateUser>1</CreateUser>
    <CreateDate>2014-05-03T14:31:00+05:30</CreateDate>
  </Table.Name>
</NewDataSet>

1.
98
MA000012
9
1.
2014-05-03T14:31:00+05:30

您的示例输出看起来有点。。。困惑的您有
开始标记和
结束标记-这让我怀疑这些不是您从某处复制的真正输出,而是您自由键入的内容。现在检查一下。对不起,不信的达米恩