Я создал файл класса из xmltosharp, но не знаю, как его использовать. Я делал все вручную без класса, но я буду использовать класс, чтобы быть лучше в будущих кодах.
Я не знаю, как я могу использовать его с linq, это для создания нового XML-файла со сложной структурой, мне нужна стартовая нога, чтобы следовать моим шагам.
Мой файл класса как-то так (частично)
/*
Licensed under the Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0
*/
using System;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace Xml2CSharp
{ [XmlRoot(ElementName = "EnviarLoteRpsEnvio", Namespace = "http://www.issnetonline.com.br/webserviceabrasf/vsd/servico_enviar_lote_rps_envio.xsd")]
public class EnviarLoteRpsEnvio
{
[XmlElement(ElementName = "LoteRps", Namespace = "http://www.issnetonline.com.br/webserviceabrasf/vsd/servico_enviar_lote_rps_envio.xsd")]
public LoteRps LoteRps { get; set; }
[XmlElement(ElementName = "Signature", Namespace = "http://www.w3.org/2000/09/xmldsig#")]
public Signature Signature { get; set; }
[XmlAttribute(AttributeName = "xmlns")]
public string Xmlns { get; set; }
[XmlAttribute(AttributeName = "tc", Namespace = "http://www.w3.org/2000/xmlns/")]
public string Tc { get; set; }
}
}
Мой файл формы я пытаюсь это:
private void xmlbox_Click(object sender, EventArgs e)
{
EnviarLoteRpsEnvio el = new EnviarLoteRpsEnvio();
el.Xmlns = "tc";
el.LoteRps.CpfCnpj.Cnpj = "09581129000105";
XDocument xdoc = new XDocument();
xdoc.Add(new XDeclaration("1.0", "utf-8", "yes"));
xdoc.Element(el);
xdoc.Save("teste3.xml");
Это то, что я рассматриваю как файл XML
<?xml version = "1.0" encoding = "utf-8"?>
<EnviarLoteRpsEnvio <?xml version = "1.0" encoding = "utf-8"?>
<EnviarLoteRpsEnvio xmlns = "http://www.issnetonline.com.br/webserviceabrasf/vsd/servico_enviar_lote_rps_envio.xsd" xmlns:tc = "http://www.issnetonline.com.br/webserviceabrasf/vsd/tipos_complexos.xsd">
<LoteRps>
<tc:NumeroLote>1</tc:NumeroLote>
<tc:CpfCnpj>
<tc:Cnpj>09581129000105</tc:Cnpj>
</tc:CpfCnpj>
<tc:InscricaoMunicipal></tc:InscricaoMunicipal>
<tc:QuantidadeRps>1</tc:QuantidadeRps>
<tc:ListaRps>
<tc:Rps>
<tc:InfRps>
<tc:IdentificacaoRps>
<tc:Numero>215</tc:Numero>
<tc:Serie>10</tc:Serie>
<tc:Tipo>1</tc:Tipo>
</tc:IdentificacaoRps>
</tc:Rps>
</tc:ListaRps>
</loteRps>
Нет. Я только что преобразовал его. Я пытаюсь использовать сгенерированный класс
Я думаю, что проще выполнить следующие шаги: 1. Скопируйте содержимое XML-файла, 2. Создайте новый класс C#. 3. В Visual Studio перейдите к Правка -> Специальная вставка -> Вставить XML как классы. (или вы можете использовать описанный «xmltosharp») 4. Используйте XmlSerializer для сериализации объектов в файл XML и десериализации файла в объект (в данном случае EnviarLoteRpsEnvio). Пожалуйста, взгляните и на следующую страницу: связь
Загрузите инструмент msdn xsd.exe, который автоматически преобразует схему в классы. Пространство имен URL-адресов в вашем xml является схемой верхнего уровня (файл xsd). В пространстве имен верхнего уровня есть дополнительные пространства имен (URL-файлы xsd), которые также необходимо преобразовать.





Вы пытаетесь преобразовать файл XML в класс C# или класс C# в файл XML?