После нескольких часов отчаяния и сотен испытаний & amp; ошибки, я придумал решение ниже.
У меня была такая же проблема, когда я хотел только один атрибут xmlns
, только на узле root . Но у меня также был очень сложный запрос с подзапросами лота, а метод FOR XML EXPLICIT
был слишком громоздким. Так что да, я хотел, чтобы удобство FOR XML PATH
в подзапросах, а также установить мой собственный xmlns
.
Я любезно взял код ответа 8kb, потому что это было так приятно. Я немного изменил его для лучшего понимания. Вот код:
DECLARE @Order TABLE (OrderID INT, OrderDate DATETIME)
DECLARE @OrderDetail TABLE (OrderID INT, ItemID VARCHAR(1), Name VARCHAR(50), Qty INT)
INSERT @Order VALUES (1, '2010-01-01'), (2, '2010-01-02')
INSERT @OrderDetail VALUES (1, 'A', 'Drink', 5),
(1, 'B', 'Cup', 2),
(2, 'A', 'Drink', 2),
(2, 'C', 'Straw', 1),
(2, 'D', 'Napkin', 1)
-- Your ordinary FOR XML PATH query
DECLARE @xml XML = (SELECT OrderID AS "@OrderID",
(SELECT ItemID AS "@ItemID",
Name AS "data()"
FROM @OrderDetail
WHERE OrderID = o.OrderID
FOR XML PATH ('Item'), TYPE)
FROM @Order o
FOR XML PATH ('Order'), ROOT('dummyTag'), TYPE)
-- Magic happens here!
SELECT 1 AS Tag
,NULL AS Parent
,@xml AS [xml!1!!xmltext]
,'http://test.com/order' AS [xml!1!xmlns]
FOR XML EXPLICIT
- Drink
- Cup
- Drink
- Straw
- Napkin
Если вы выбрали @xml
самостоятельно, вы увидите, что он содержит корневой узел dummyTag
. Нам это не нужно, поэтому мы удаляем его с помощью директивы xmltext
в запросе FOR XML EXPLICIT
:
,@xml AS [xml!1!!xmltext]
Хотя объяснение в MSDN звучит более сложным, но практически он сообщает парсеру выбрать содержимое корневого узла XML
.
Не уверен, насколько быстро запрос, но в настоящее время я расслабляюсь и пить шотландского типа, как человека мирно смотря на код ...
Вот как я бы подошел к проблеме:
1. Свяжите таблицу стилей в разделе <head>
вашего HTML-документа, содержащего вашу диаграмму :
<link rel="stylesheet" type="text/css" href="<path_to_css_file>">
2. С помощью devtools - выберите метки диаграмм , для которых вы хотите изменить цвет диаграммы. то есть
В Firefox вы можете сделать следующее:
Щелкните правой кнопкой мыши на ярлыках диаграммы и выберите Проверка элемента [ 1111]
Щелкните правой кнопкой мыши и выберите Копировать => Селектор CSS
3. Создайте файл CSS по указанному пути в шаге 1 и вставьте селектор CSS из шага 2.
<css_selector> {
color: <color_hex_desired>;
/* any other styling properties desired */
}
4. Перезагрузите страницу и проверьте изменения стиля.
Используйте ticks
в xAxes
.
xAxes: [{
ticks: {
fontStyle: "bold"
}
}]