Нужна помощь в экспорте данных в формат обмена терминами - PullRequest
0 голосов
/ 17 февраля 2020

Мне нужна помощь в экспорте данных в формат xml Term Base eXchange в основном приложении pnet. Я могу успешно экспортировать в UTF8 xml, но у меня нет ресурсов, которые бы помогли мне экспортировать в формат tbx. Спасибо

Это мой код:

[HttpGet]
public ContentResult ExtractTBX()
{
    var movies = _context.Movie;
    XmlSerializer serializer = new XmlSerializer(movies.GetType());
    string utf8;
    using (StringWriter writer = new Utf8StringWriter())
    {
        serializer.Serialize(writer, movies);
        utf8 = writer.ToString();
    }

    return Content(utf8);
}

private class Utf8StringWriter : StringWriter
{
    public override Encoding Encoding => Encoding.UTF8;
}

Это мой вывод:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfMovie xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Movie>
    <Id>1</Id>
    <Title>When Harry Met Sally</Title>
    <ReleaseDate>1989-02-12T00:00:00</ReleaseDate>
    <Genre>Romantic Comedy</Genre>
    <Price>7.99</Price>
    <Rating>R</Rating>
  </Movie>
  ...
</ArrayOfMovie>

Это мой желаемый вывод:

<?xml version="1.0" encoding="UTF-8"?>
<martif type="TBX" xml:lang="en-US">
  <martifHeader>
    <fileDesc>
      <titleStmt>
        <title>CJO 116253 Net Software Engineer (gText)</title>
      </titleStmt>
      <sourceDesc>
        <p>{Your Name}</p>
      </sourceDesc>
    </fileDesc>
  </martifHeader>
  <text>
    <body>
      <termEntry id="1">
        <langSet xml:lang="en-US">
          <descripGrp>
            <descrip type="definition">{Genre}</descrip>
          </descripGrp>
          <ntig>
            <termGrp>
              <term id="6">Title</term>
              <termNote type="partOfSpeech">{Rating}</termNote>
            </termGrp>
          </ntig>
        </langSet>
      </termEntry>
      ... 
    </body>
  </text>
</martif> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...