我不了解 XSLT,但如果可能的话,可能会有一个非常复杂的解决方案。
但在 C# 中,它相当简单。这是一种方法(使用 LINQ to XML):
var inputXml =
@"<XML>
<Name>Name1;Name2</Name>
<Adress>Adress1;Adress2</Adress>
</XML>";
var inputXmlDoc = XDocument.Parse(inputXml);
var names = inputXmlDoc.Root.Descendants("Name").Single().Value.Split(';');
var addresses = inputXmlDoc.Root.Descendants("Adress").Single().Value.Split(';');
var outputXmlDoc = new XDocument(
new XElement("XML",
names.Zip(addresses, (n, a) => new {n, a})
.Select(pair => new XElement("LINE",
new XElement("Name", pair.n),
new XElement("Address", pair.a)
))
)
);
Console.WriteLine(outputXmlDoc);