Как создать этот тип XML с помощью xelement в C # - PullRequest
0 голосов
/ 01 ноября 2019

Это то, что мне нужно:

<EuropeanSale>
 <VATCore:SubmittersReference>001</VATCore:SubmittersReference>
 <VATCore:CountryCode>AT</VATCore:CountryCode>
 <VATCore:CustomerVATRegistrationNumber>U52375709</VATCore:CustomerVATRegistrationNumber>
 <VATCore:TotalValueOfSupplies>1000</VATCore:TotalValueOfSupplies>
 <VATCore:TransactionIndicator>2</VATCore:TransactionIndicator>
</EuropeanSale>

Это мой код:

XElement temp= new XElement("EuropeanSale", 
    new XElement("Vat:SubmittersReference", item.SubmittersReference), 
    new XElement("Vat:CountryCode", item.CountryCode), 
    new XElement("CustomerVATRegistrationNumber", item.CustomerVATRegistrationNumber), 
    new XElement("Vat:TotalValueOfSupplies", item.TotalValueOfSupplies), 
    new XElement("Vat:TransactionIndicator", item.TransactionIndicator) );

Это исключение:

"The":'символ, шестнадцатеричное значение 0x3A, не может быть включен в имя. "

1 Ответ

0 голосов
/ 01 ноября 2019

Вам нужно будет объявить ваше пространство имен как минимум в родительском элементе. Посмотрите, может ли это помочь вам начать:

using System;
using System.Xml.Linq;

public class Program
{
    public static void Main()
    {
        // Create an XML tree in a namespace, with a specified prefix  
        XNamespace ns = "http://example.com";
        XElement root = new XElement("Root", 
                                     new XAttribute(XNamespace.Xmlns + "VATCore", "http://example.com"), 
                                     new XElement(ns + "Child", "child content")
                                    );
        Console.WriteLine(root);
    }
}

Вышеуказанные выводы

<Root xmlns:VATCore="http://example.com">
  <VATCore:Child>child content</VATCore:Child>
</Root>

on https://dotnetfiddle.net/zedBb3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...