Вы можете попробовать следующее:
$.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").append(html);
}
});
Этот код добавит содержимое файла test.html
в элемент #results
. Вы можете найти дополнительную информацию на странице jQuery website .
Обновление:
Используйте этот код для отправки данных POST и вывода.
var menuId = $("ul.nav").first().attr("id");
var request = $.ajax({
url: "script.php",
type: "POST",
data: {id : menuId},
dataType: "html"
});
request.done(function(msg) {
$("#log").html( msg );
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
Не ясно для меня из Вашего примера, чего Вы на самом деле пытаетесь достигнуть. Вы хотите возвратить новый XML со всеми узлами, разделенными кроме тех, которые выполняют условие? Если да, то это похоже на задание для XSLT, преобразовывают, который я не думаю, что это встроено в 2005 MSSQL (может быть добавлен как UDF: http://www.topxml.com/rbnews/SQLXML/re-23872_Performing-XSLT-Transforms-on-XML-Data-Stored-in-SQL-Server-2005.aspx).
Если просто необходимо возвратить список узлов затем, можно использовать это выражение:
//Book[not(@ID) or @ID = 5]
но я получаю впечатление, что это не то, в чем Вы нуждаетесь. Помогло бы, можно ли обеспечить более ясный пример.
Править: Этот пример действительно более ясен. Лучшее, которое я мог найти, является этим:
SET @Xml.modify('delete(//*[@category!=1])')
SELECT @Xml
Идея состоит в том, чтобы удалить из XML все узлы, в которых Вы не нуждаетесь, таким образом, Вы остаетесь с исходной структурой и необходимыми узлами. Я протестировал с Вашими двумя примерами, и это привело к требуемому результату.
Однако измените, имеет некоторые ограничения - кажется, что Вы не можете использовать его в избранном операторе, это должно изменить данные на месте. Если необходимо возвратить такие данные с выбором, Вы могли бы использовать временную таблицу, в которой можно скопировать исходные данные и затем обновить ту таблицу. Что-то вроде этого:
INSERT INTO #temp VALUES(@Xml)
UPDATE #temp SET data.modify('delete(//*[@category!=2])')
Надежда, которая помогает.
Вопрос не действительно ясен, но является этим, что Вы ищете?
DECLARE @Xml AS XML
SET @Xml =
N'
<Books>
<Book ID="1">Book1</Book>
<Book ID="2">Book2</Book>
<Book ID="3">Book3</Book>
<Book>Book4</Book>
<Book ID="5">Book5</Book>
<Book ID="6">Book6</Book>
<Book>Book7</Book>
<Book ID="8">Book8</Book>
</Books>
'
DECLARE @BookID AS INT
SET @BookID = 5
DECLARE @Result AS XML
SET @result = (SELECT @xml.query('//Book[not(@ID) or @ID = sql:variable("@BookID")]'))
SELECT @result