Существуют ли языки программирования, которые изначально поддерживают xml? - PullRequest
5 голосов
/ 19 июня 2009

Если таковые имеются, то насколько глубоко XML интегрируется в язык? Какие примитивы используются для манипулирования XML-документом?

PS. Меня не интересуют декларативные языки, такие как SQL, XPath, XSLT:)

Ответы [ 9 ]

10 голосов
/ 19 июня 2009

VB.NET 9.0 содержит XML-литералы , что похоже на то, что вы ищете Этот пример взят из блога Имрана Шаика

    <WebMethod()> _
Public Function AllCountriesUsingXMLLiterals() As String

    Dim sud As New CountryDataSetTableAdapters.CountryTableTableAdapter

    Dim XDataSet As New CountryDataSet.CountryTableDataTable

    sud.Fill(XDataSet)

    Dim XDoc = _
        <Countries xmlns="http://tempuri.org/Schema/Countries">
            <%= From country In XDataSet Select <Country Code=<%= country.CountryISO %> Name=<%= country.CountryName %>/> %>
        </Countries>

    Return XDoc.ToString
End Function
4 голосов
/ 19 июня 2009

Powershell обладает некоторыми тонкостями в работе с XML, главным образом в том, что узел получает динамические свойства, представляющие его подузлы. Итак, учитывая XML

<foo>
  <bar/>
  <bar/>
</foo>

объект XML, созданный из этого, имеет свойство "foo", а возвращаемый объект имеет свойство "bar".

> $x=[xml]"<foo><bar moo='meh'/><bar meow='bleh'/></foo>"
> $x.foo

bar
---
{bar, bar}

> $x.foo.bar[0]

moo
---
meh

> $x.foo.bar[1]

meow
----
bleh

Иногда очень удобно.

3 голосов
/ 19 июня 2009

ActionScript 3.0 и JavaScript Flash (языки ECMAScript) также интегрированы с XML с помощью E4X .
Таким образом, код выглядит примерно так (хотя это простой пример и более крутые вещи возможны):

var sales = <sales vendor="John">
    <item type="peas" price="4" quantity="6"/>
    <item type="carrot" price="3" quantity="10"/>
    <item type="chips" price="5" quantity="3"/>
  </sales>;

alert( sales.item.(@type == "carrot").@quantity );
alert( sales.@vendor );
for each( var price in sales..@price ) {
  alert( price );
}

Вот документы Adobe для работы с XML в AS3.0.

2 голосов
/ 19 июня 2009

JavaScript , см. здесь

2 голосов
/ 19 июня 2009

Groovy и Scala имеют буквальную поддержку XML, хотя я думаю, что это вообще-то действительно глупая идея.

1 голос
/ 19 июня 2009

Flex и Action Script.

0 голосов
/ 19 июня 2009

XQuery ? Из связанной статьи:

XQuery предоставляет средства для извлечения и манипулировать данными из документов XML или любой источник данных, который можно просмотреть как XML, такой как реляционные базы данных или офисные документы.

Поддерживает циклы for, while, let, упорядочивание и т. Д.

0 голосов
/ 19 июня 2009

Я бы пошел с Groovy, так как он лучше всего интегрируется с Java.

0 голосов
/ 19 июня 2009

Зависит от того, что вы подразумеваете под глубоко интегрированным? .net поставляется с пространством имен XML и различными классами для работы с документами XML ...

...