У меня есть один XML-файл, в котором значения хранятся в элементе категории, разделенном запятой:
<Company>
<name>Test</name>
<category>Power,Water,Gas</category>
</Company>
<Company>
<name>Test2</name>
<category>Water,Gas</category>
</Company>
В другом XML-файле в элементе категории хранится только одно значение:
<Bills>
<name>Test</name>
<category>Power</category>
</Bills>
<Bills>
<name>Test2</name>
<category>Water</category>
</Bills>
Так что теперь мне нужно объединить эти два xml-файла и получить все узлы компании, содержащие значение категории, из узла Bills.
У меня есть этот запрос:
Xdocument fRoot = XDocument.Load("company.xml");
Xdocument rRoot = XDocument.Load("bills.xml");
var query = from f in fRoot.Elements("Company")
join r in rRoot.Elements("Bills")
on (string)f.Element("category").Value equals (string)r.Element("category").Value
orderby(string)f.Element("name").Value
select new{...}
При этом я ничего не получаю, потому что значения категорий узлов компании хранятся через запятую, и я не знаю, как разделить их, чтобы выполнить JOIN для этих двух файлов.
Спасибо.