2010-04-30 7 views
0

Je suis nouveau à SSRS. Nous aurons deux morceaux légèrement différents de XML dans une seule ligne d'une table de base de données SQL Server. Dans un rapport SSRS, nous ne voulons montrer que les différences entre les blocs XML. Je ne sais pas comment faire cela, mais je pense que le type XML dans SQLServer 2005 pourrait être utile, ou les transformations XSLT dans SSRS. Quelqu'un pourrait-il me pointer dans la bonne direction?Comparer XML dans SSRS

Répondre

0

Je n'ai pas non plus sous-entendu votre question, mais si vous voulez dire cela, vous avez deux XML (chaîne) et dans votre rapport vous voulez montrer juste la partie différente de ces deux chaînes.

Si je vous, j'ai écrit un class dans .NET (c#) qui « prennent deux xml » et traiter les différentes capacités avec .NET, puis je retourne l'autre dans un Array comme

Notez que la le code suivant est un pseudo code pas un vrai.

public string[] ComapreXML(XMLDocument first, XMLDocument second) 
{ 
    string[] result = null; 
    if(first.element.content != second.element.content) 
     result.add(first.element.getData()); 
    return result; 
} 

je le compiler cette classe et ajouter cette classe à SSRS (je l'ai écrit un article sur How to extend SSRS Functionalities here)

Et enfin INTHE rapport que j'utiliser ce code pour obtenir le résultat. Faites-moi savoir si c'était utile ou non.

+0

J'espérais une solution déclarative. Je ne savais pas que SSRS pouvait être étendu comme ça, mais cela ferait peut-être l'affaire. Merci. – silves89

0

Je ne suis pas sûr s'il y a quelque chose facilement disponible pour identifier les différences dans deux documents XML. Cependant, j'ai écrit une fois une fonction qui peut comparer deux documents XML et dire s'ils ont le même contenu ou non. Vous pouvez trouver le code here. Peut être vous pouvez prendre le code, le modifier et renvoyer les différences entre les deux documents XML - au cas où aucune autre option n'est laissée.