Element składni ścieżki do określania danych XML raportu (SSRS)
W Projektant raportów, określ dane dla raportu ze źródło danych XML jest używany przez określenie ścieżki elementu wielkość liter.Ścieżka elementu wskazuje sposób przejścia przez hierarchiczne węzły XML i ich atrybuty w źródle danych XML.Aby użyć domyślnej ścieżka elementu, pozostaw kwerendę dataset lub XML ElementPath XML Query pusta.Gdy dane są pobierane ze źródła danych XML, węzły elementów mające wartości tekstowe i atrybuty węzłów elementów stają się kolumnami w zestawie wyników.Po uruchomieniu zapytania wartości węzłów i atrybutów stają się danymi wierszy.Kolumny są wyświetlane w okienku Dane raportu jako kolekcja pól zestawu danych.W tym temacie opisano składnię ścieżki elementu.
Ostrzeżenie
Składnia ścieżki elementu jest niezależna od obszaru nazw.Używać obszarów nazw w elemencie ścieżka, użyj składni kwerendy XML, który zawiera XML ElementPath element opisane w Składnia kwerendy XML do określania danych XML raportu (SSRS).
W poniższej tabeli opisano konwencje używane do definiowania ścieżki elementu.
Konwencja |
Zastosowanie |
---|---|
pogrubienie |
Tekst, który należy wpisać dokładnie tak jak pokazano. |
| (pionowa kreska) |
Rozdziela elementy składni.Można wybrać tylko jeden z elementów. |
[ ] (nawiasy kwadratowe) |
Opcjonalne elementy składni.Nie należy wpisywać nawiasów kwadratowych. |
{} (nawiasy klamrowe) |
Rozdziela elementy składni parametrów. |
[,...n] |
Wskazuje poprzedniego element można powtórzyć, n liczbę razy.Wystąpienia są rozdzielane przecinkami. |
Składnia
Element path ::=
ElementNode[/Element path]
ElementNode ::=
XMLName[(Encoding)][{[FieldList]}]
XMLName ::=
[NamespacePrefix:]XMLLocalName
Encoding ::=
HTMLEncoded | Base64Encoded
FieldList ::=
Field[,FieldList]
Field ::=
Attribute | Value | Element | ElementNode
Attribute ::=
@XMLName[(Type)]
Value ::=
@[(Type)]
Element ::=
XMLName[(Type)]
Type ::=
String | Integer | Boolean | Float | Decimal | Date | XML
NamespacePrefix ::=
Identifier that specifies the namespace.
XMLLocalName :: =
Identifier in the XML tag.
Uwagi
W poniższej tabeli podsumowano terminy dotyczące ścieżki elementu.Przykłady w tej tabeli odwołują się do przykładowego dokumentu XML o nazwie Customers.xml, który wchodzi w skład sekcji Przykłady w tym temacie.
Ostrzeżenie
W tagach XML jest rozróżniana wielkość liter.Element ElementNode określony w ścieżce elementu musi dokładnie pasować do tagów XML w źródle danych.
Termin |
Definicja |
---|---|
Ścieżka elementu |
Definiuje kolejność węzłów do przechodzenia w dokumencie XML, aby pobrać dane z pole danych ze źródło danych XML. |
ElementNode |
Węzeł XML w dokumencie XML.Węzły są wyznaczane przez tagi i mają hierarchiczną relację z innymi węzłami.Na przykład <Klienci> jest węzeł elementu głównego.<Odbiorcy> jest podelement z <Klienci>. |
XMLName |
Nazwa węzła.Na przykład nazwa węzła Customers to Customers.XMLName Może być prefiksem identyfikator obszaru nazw do jednoznacznego nazwania każdego węzła. |
Encoding |
Wskazuje, że Value dla tego elementu jest zakodowany XML i musi zostać zdekodowane i uwzględnione w podelemencie elementu. |
FieldList |
Definiuje zestaw elementów i atrybutów, które będą używane do pobierania danych. Jeśli ten element nie zostanie określony, wszystkie atrybuty i podelementy będą używane jako pola.Jeśli określona lista puste pole ({}), są używane żadne pola z tego węzła. A FieldList nie może zawierać zarówno Value i Element lub ElementNode. |
Field |
Określa dane, które są pobierane jako pole danych. |
Attribute |
Para nazwa wartość w ElementNode.Na przykład w węzeł elementu <identyfikator klienta = "1">, ID jest atrybut i @ID(Integer) zwraca wartość "1" jako typ Liczba całkowita w odpowiednich pole danych ID. |
Value |
The value of the element.Value can only be used on the last ElementNode in the element path.Na przykład ponieważ <zwrotu> jest węzeł liścia, jeśli zawierają na końcu ścieżka elementu, wartość Return {@} jest Chair. |
Element |
Wartość nazwanego podelementu.Na przykład użycie ścieżki Customers {}/Customer {}/LastName spowoduje pobranie wartości tylko dla elementu LastName. |
Type |
Opcjonalny typ danych, który będzie używany w polu utworzonym na podstawie tego elementu. |
NamespacePrefix |
NamespacePrefix jest zdefiniowany w elemencie XML kwerendy.Jeśli element XML kwerendy nie istnieje, przestrzenie nazw w XML ElementPath są ignorowane.Jeśli istnieje element XML kwerendy XML ElementPath ma atrybut opcjonalny IgnoreNamespaces.Jeśli IgnoreNamespaces jest true, przestrzenie nazw w XML ElementPath i dokumentu XML są ignorowane.Aby uzyskać więcej informacji, zobacz Składnia kwerendy XML do określania danych XML raportu (SSRS). |
Przykład — brak obszarów nazw
W następujących przykładach użyto dokumentu XML Customers.xml.W poniższej tabela pokazano przykłady składni ścieżka elementu i wyniki kwerendy, który definiuje zestaw danych na podstawie dokumentu XML jako źródło danych przy użyciu ścieżka elementu.
Ostrzeżenie
Gdy ścieżka elementu jest pusta, w kwerendzie użyto domyślnej ścieżki elementu: pierwsza ścieżka do węzeł liścia kolekcja.W pierwszym przykładzie pozostawienie pustej ścieżki elementu jest równoznaczne z określeniem ścieżki elementu /Customers/Customer/Orders/Order.Wszystkie wartości i atrybuty węzłów w ścieżce są zwracane w zestawie wyników, a nazwy węzłów i nazwy atrybutów są wyświetlane jako pola zestawu danych.
Przykład |
Pola w zestawie danych |
---|---|
Pusty |
OrderQtyIdentyfikatorFirstNameLastNameCustomer.IDxmlns
Chair61BobbyMoore11https://www.adventure-works.com
Tabela12BobbyMoore11https://www.adventure-works.com
Sofa28CrystalHu20https://www.adventure-works.com
EndTables215WyattDiaz33https://www.adventure-works.com
|
Customers {}/Customer |
FirstNameLastNameIdentyfikator
BobbyMoore11
CrystalHu20
WyattDiaz33
|
Customers {}/Customer {}/LastName |
LastName
Moore
Hu
Diaz
|
Customers {}/Customer {}/Orders/Order {@,@Qty} |
OrderQty
Chair6
Tabela1
Sofa2
EndTables2
|
Customers {}/Customer/Orders/Order{ @ID(Integer)} |
Order.IDFirstNameLastNameIdentyfikator
1BobbyMoore11
2BobbyMoore11
8CrystalHu20
15WyattDiaz33
|
Dokument XML: Customers.XML
Wypróbować przykłady ścieżka elementu w poprzedniej sekcji, skopiuj ten XML i zapisać adres URL, który jest dostępny przez Projektant raportów, a następnie użyć dokumentu XML jako źródło danych XML: na przykład https://localhost/Customers.xml.
<?xml version="1.0"?>
<Customers xmlns="https://www.adventure-works.com">
<Customer ID="11">
<FirstName>Bobby</FirstName>
<LastName>Moore</LastName>
<Orders>
<Order ID="1" Qty="6">Chair</Order>
<Order ID="2" Qty="1">Table</Order>
</Orders>
<Returns>
<Return ID="1" Qty="2">Chair</Return>
</Returns>
</Customer>
<Customer ID="20">
<FirstName>Crystal</FirstName>
<LastName>Hu</LastName>
<Orders>
<Order ID="8" Qty="2">Sofa</Order>
</Orders>
<Returns/>
</Customer>
<Customer ID="33">
<FirstName>Wyatt</FirstName>
<LastName>Diaz</LastName>
<Orders>
<Order ID="15" Qty="2">EndTables</Order>
</Orders>
<Returns/>
</Customer>
</Customers>
Można także utworzyć źródło danych XML bez parametrów połączenia i osadzić plik Customers.XML w zapytaniu, używając następującej procedury:
Aby osadzić plik Customers.XML w zapytaniu
Utwórz źródło danych XML z pustymi parametrami połączenia.
Utwórz nowy zestaw danych dla źródła danych XML.
W Właściwości Dataset okno dialogowe, kliknij przycisk Projektant kwerend.Zostanie otwarte okno dialogowe tekstowego projektanta zapytań.
W okienku zapytania wprowadź dwa następujące wiersze:
<Query>
<XmlData>
Customers.XML skopiować i wkleić tekst w okienku kwerendy po <XmlData>.
W okienku kwerendy usunąć pierwszy wiersz, który skopiowano z Customers.XML: <?xml version="1.0"?>
Na końcu zapytania dodaj dwa następujące wiersze:
<XmlData>
<Query>
Kliknij uruchomić kwerendę (!).
Zestaw wyników zawiera 4 wiersze danych z następujących kolumn: xmlns, Customer.ID, FirstName, LastName, ID, Qty, Order.
Kliknij przycisk OK.
Zobacz także